ViewModel绑定问题
ViewModel Binding issue
我有一个viewModel在我的视图页面绑定如下:
var form = $("form");
$(function () {
var viewModel = kendo.observable(JSON.parse('@Html.Raw(Json.Encode(Model))'));
kendo.bind(form, viewModel[0]);
});
但是这里的问题是我正在使用viewModel[0],这对我来说看起来很奇怪。
我们是否可以将绑定代码重写为没有[0]的样子,这将在绑定
时产生问题 kendo.bind(form, viewModel);
这是我的观点:
@model IList<PC.CManager.Cs.Domain.Models.Ln>
@using (Html.BeginForm())
{
<div class="panel panel-primary">
<div class="panel-heading inform" style="">
<table clases="panel-title inform">
<tr>
<td class="inform">Loan Number: <label id="loannum" name="loannum">1000100001</label></td>
<td class="inform">Status: <label id="loanstatus" name="loanstatus">Forclosure</label></td>
<td class="inform">Loan Type: <label id="loantype" name="loantype">Government(FHA)</label></td>
</tr>
</table>
</div>
控制器:
public async Task<ActionResult> ClaimDetail()
{
//return View();
string id = "1000000246";
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var LnDetail = await _LnProxy.GetLnDetailByLnNum((string)id);
if (LnDetail == null)
{
return HttpNotFound();
}
return View(LnDetail);
}
我们如何重写绑定代码看起来很好,工作良好?
由于您希望只使用第一个元素,并且这是应该的,因为您是通过"id"获得它,因此您可以只返回单个元素而不是元素列表。
var LnDetail = await _LnProxy.GetLnDetailByLnNum((string)id).FirstOrDefault();
然后你的模型将是:
@model PC.CManager.Cs.Domain.Models.Ln
然后在JavaScript中,你可以使用它没有尖括号,只是viewModel。因为它现在是一个单独的对象,而不是一个数组。
相关文章:
- ng绑定和ng href问题.ng href未从控制器加载数据
- 绑定的角度ng-max问题
- 性能问题:通用选择器与单独绑定
- 使用AngularJS UI路由器时出现元素绑定问题
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 挖空和显示模块模式的数据绑定问题
- 使用大括号的 Internet Explorer 上的 AngularJS 数据绑定问题
- backbone.js绑定问题
- SAPUI5绑定问题:json文件中维护的列表项链接不起作用
- 绑定的Javascript问题
- 将事件绑定到Bootstrap 3(button.js)按钮无线电时出现问题
- 将javascript绑定到提交按钮时出现问题
- Aurelia类的问题.使用checked.bind绑定
- AngularJS:图片上传+文件阅读器预览.控制器、指令和作用域之间的绑定出现问题
- 挖空 - 单击绑定到对象函数 - 范围问题
- Angular JS(嵌套变量)中的绑定问题
- 触摸事件的挖空事件绑定导致滚动问题
- JavaScript setInterval 范围问题:绑定的替代方案
- 击倒剑道问题绑定通过计算观察
- 奇怪的问题绑定事件与骨干,“;这个“;没有更新