【问题标题】:ViewModel Binding issueViewModel 绑定问题
【发布时间】:2015-12-19 10:05:17
【问题描述】:

我的视图页面中有一个 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);
        }

我们怎样才能重写绑定代码看起来不错并且工作正常?

【问题讨论】:

    标签: javascript .net model-view-controller mvvm kendo-ui


    【解决方案1】:

    由于您只想使用第一个元素,而且应该是这样,因为您是通过“id”获取它,因此您可以只返回单个元素而不是元素列表。

    var LnDetail = await _LnProxy.GetLnDetailByLnNum((string)id).FirstOrDefault();
    

    然后你的模型将是:

    @model PC.CManager.Cs.Domain.Models.Ln
    

    然后在 JavaScript 中你可以不用尖括号来使用它,只需要 viewModel。因为它现在将是单个对象,而不是数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 2011-09-03
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多