关于来自MVC3的editorFor helper我有一个奇怪的问题.事情是这样的:我正在尝试显示一个checkBoxList,如果我不调用明确的模板名称,它就可以工作.但是,如果我尝试使用模板名称,它会抛出一个异常,说我正在尝试传递一个通用列表,而我应该简单地传递我的viewmodel.我将展示一些代码以使其更易理解:
视图模型
public class Chkviewmodel { public string ContractName {get;set;} public string Contract {get;set;} public bool Checked {get;set;} }@H_403_5@EditorFor Template(称为ContractTemplate)
@model Models.Chkviewmodel <p> @Html.HiddenFor(x => x.Contract ) @Html.LabelFor(x => x.ContractName,Model.ContractName ) @Html.CheckBoxFor(x => x.Checked,new { @class = "chkContract" }) </p>@H_403_5@摘自我的观点
<div id="contractContainer"> @Html.EditorFor(item=>item.ContractList) </div>@H_403_5@这很好用.但它试图这样做:
<div id="contractContainer"> @Html.EditorFor(item=>item.ContractList,"ContractTemplate") </div>@H_403_5@它抛出InvalidOperationException,说我必须传递一个简单的Chkviewmodel而不是GenericList Chkviewmodel.
我只是问这个,因为我试图创建另一个复选框列表,我无法使它工作(甚至不显示复选框),当我试图设置模板名称,这样我至少可以看到复选框,它抛出了那个错误.