【问题标题】:How to get data for knockout in partial view?如何在局部视图中获取敲除数据?
【发布时间】:2014-10-17 04:37:34
【问题描述】:

我有一个主视图,当单击编辑按钮时调用波纹管函数:

function ShowEditRecord(e) {
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
$.ajax(
    {
        url: '/Home/TestEdit/'+dataItem.Id.toString(),
        contentType: 'application/html; charset=utf-8',
        type: 'Get',
        dataType: 'html'
    })
.success(function(result)
{ $('#EditTestSection').html(result); })

现在我的部分观点与淘汰赛一起工作,我的部分观点是:

@model KendoSample.Models.Test

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "frm" }))
{

    <legend>Person</legend>

     <input  type="hidden"  id="Id" name="Id" data-bind='value: Id, uniqueName:true'   class='required' />

    <div class="editor-label">
      <label for="Name"/>
    </div>
    <div class="editor-field">
    <input  id="Name" name="Name"  data-bind='value: Name, uniqueName: true'  type="text" class='required'/>
        @Html.EditorFor(model => model.Name);
    </div>

    <div class="editor-label">
      <label for="Family"/>
    </div>
    <div class="editor-field">
    <input  id="Family" name="Family"  data-bind='value: Family, uniqueName: true'  class='required'/>
    </div>

   }
   <input id="btnSubmits" type="button" value="btnSubmit" />
   <script type="text/javascript" src="~/Scripts/knockout-3.0.0.js"/>
   <script type="text/javascript">
   $('#btnSubmits').on('click',function() {
    alert(viewModel.Name().toString());
    });
    var viewModel={
    Id:ko.observable(@Html.Raw(Model.Id.ToString())),
    Name: ko.observable(@Html.Raw(Model.Name.ToString())),
    Family: ko.observable(@Html.Raw(Model.Family.ToString()))
   }
   ko.applyBindings(viewModel);
  </script>

我的控制器代码是:

 public ActionResult TestEdit(Int64 Id)
    {
        var modelItem=getT().Where(a => a.Id == Id).FirstOrDefault();
        return View (modelItem);
    }

现在,我想要在渲染局部视图时填充挖空视图模型。

【问题讨论】:

    标签: javascript jquery ajax asp.net-mvc-4 knockout.js


    【解决方案1】:

    我使用以下代码将模型绑定到淘汰视图模型:

    var viewModel={
        Id:ko.observable('@Html.Raw(Model.Id.ToString())'),
        Name: ko.observable('@Html.Raw(Model.Name.ToString())'),
        Family: ko.observable('@Html.Raw(Model.Family.ToString())')
    }
    ko.applyBindings(viewModel);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 2017-11-06
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 2012-10-11
      相关资源
      最近更新 更多