Asp.net mvc knockoutmvc-无法分析绑定
我有一个ASP.NETMVC站点,我正在尝试让淘汰版MVC使用它 我在C代码中创建了一个名为Asp.net mvc knockoutmvc-无法分析绑定,asp.net-mvc,knockout.js,knockout-mvc,Asp.net Mvc,Knockout.js,Knockout Mvc,我有一个ASP.NETMVC站点,我正在尝试让淘汰版MVC使用它 我在C代码中创建了一个名为退款的视图模型,其中包含一个名为凭证的凭证类型和一个名为国家的列表。凭证的类型为int的变量称为VoucherNumber 此视图模型被传递到一个强定义的视图return\Index 我正在尝试让淘汰mvc将return.Voucher.VoucherNumber中的值绑定到一个文本框,并将return.Countries中的值绑定到一个下拉列表。在控制器上,我硬编码了凭证.Vouchernumber的值
退款
的视图模型,其中包含一个名为凭证
的凭证
类型和一个名为国家的列表。凭证的类型为int
的变量称为VoucherNumber
此视图模型被传递到一个强定义的视图return\Index
我正在尝试让淘汰mvc将return.Voucher.VoucherNumber中的值绑定到一个文本框,并将return.Countries
中的值绑定到一个下拉列表。在控制器上,我硬编码了凭证.Vouchernumber的值,并将两个国家/地区添加到国家/地区列表中
以下是我的查看代码:
@using Resources
@using PerpetuumSoft.Knockout
@model MVC.Models.RefundViewModel
@{
var ko = Html.CreateKnockoutContext();
}
<div id="refundformcontainer">
<div id="headersection">
<div id="pagetitlecontainer">@Language.RefundVouchers</div>
<div id="helpercontainer">
<label id="lblhelper">To begin enter a voucher number or scan a barcode</label>
</div>
</div>
<div id="vouchercontainer">
<div id="voucherdetailscontainer">
<h5>@Language.VoucherDetails</h5>
<div id="vouchernumbercontainer" class="initialvoucherfield">
@Html.LabelFor(x=>x.Voucher.VoucherNumber)
@ko.Html.TextBox(x=>x.Voucher.VoucherNumber)
</div>
<div id="countrycontainer" class="initialvoucherfield">
@Html.LabelFor(x=>x.Voucher.Country)
<select ko.Bind.Options(x=>x.Countries).OptionsText("Name").OptionsValue("CountryId").Value(x=>x.Voucher.CountryId) ></select>
</div>
</div>
</div>
</div>
@ko.Apply(Model);
然后,我更改了退款视图模型,使其具有属性VoucherNumber,并使文本框引用该属性,而不是Voucher.VoucherNumber属性
@ko.Html.TextBox(x=>x.VoucherNumber)
当我运行这个时,我得到了同样的无法解析绑定错误,但这次是针对国家
Bindings value: options : Countries, optonsText : Name, optionsValue : CountryId
有人知道是什么原因造成的吗?我想,这应该行得通
<select @ko.Bind.Options(x=>x.Countries).OptionsText("'Name'").OptionsValue("'CountryId'").Value(x=>x.Voucher.CountryId) ></select>
x.Countries).OptionsText('Name').OptionsValue('CountryId').Value(x=>x.document.CountryId)>
Knockout mvc当前有一个错误,因此嵌套属性(例如x.concedure.VoucherNumber
)没有正确写入看到此副本吗?解决问题:谢谢,这是一个相当糟糕的错误!你的链接让我读了更多,并发现了这个-不太确定我现在会用它!我不认为淘汰mvc会像链接问题中的Tyrsius那样糟糕,它有一些问题和局限性,但与webforms相比,它太强大了。如果您知道knockout,并且无论如何都使用ASP.NET MVC,并且您喜欢存储类型化视图和kncockout数据绑定表达式,并且您知道自己在做什么,那么它并没有那么糟糕。knockout MVC的最大问题是:项目似乎有点被放弃了。最近github上没有太多活动。。。这个bug在8次挂载后就打开了……是的,我觉得很奇怪,像嵌套属性这样的简单东西不起作用。这比什么都让我担心
Bindings value: options : Countries, optonsText : Name, optionsValue : CountryId
<select @ko.Bind.Options(x=>x.Countries).OptionsText("'Name'").OptionsValue("'CountryId'").Value(x=>x.Voucher.CountryId) ></select>