[英]How to get data for knockout in partial view?
I have a main view that when clicked edit button bellow function is called: 我有一个主视图,当单击“编辑”按钮时,下面的函数被调用:
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); })
Now my partial view working with knockout, my partial view is : 现在我的局部视图与淘汰赛一起使用,我的局部视图是:
@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>
My controller code is : 我的控制器代码是:
public ActionResult TestEdit(Int64 Id)
{
var modelItem=getT().Where(a => a.Id == Id).FirstOrDefault();
return View (modelItem);
}
Now, i want fill view model of knockout when partial view is rendered. 现在,我想在渲染局部视图时填充淘汰模型的视图模型。
I using bellow code for bind model to knockout viewModel: 我使用下面的代码为绑定模型敲除viewModel:
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.