当我想将模型中的值绑定到文本框时,我遇到了问题,这是我的MVC视图代码:
@Html.TextBox("SellerBroker", model => model.OutOfMarket.BuyerBroker.Name , new { @class = "control-label" })
我希望我的文本框有一个名称或'SellerBroker',它的值来自我的模型属性model => model.OutOfMarket.BuyerBroker.Name
,HTML属性为class = "control-label"
。但是,我收到以下错误:
无法将lambda表达式转换为'object'类型,因为它不是委托类型
答案 0 :(得分:1)
@Html.TextBox()
可用于生成具有初始值的文本框(单向绑定)。
如果要将文本框真正绑定到类属性(两种方式绑定),则应使用@Html.TextBoxFor()
帮助器。此方法将lambda表达式作为参数,如示例中所用。
答案 1 :(得分:0)
Helper @Html.TextBox()
不包含具有lambda参数的overloard。你应该使用没有像这样的lambda像@Stephen Muecke建议你:
@Html.TextBox("SellerBroker", Model.OutOfMarket.BuyerBroker.Name , new { @class = "control-label" })
如果你想使用lambda,你应该使用@Html.TextBoxFor()
助手。但你应该改变这样的名字:
@Html.TextBoxFor(model => model.OutOfMarket.BuyerBroker.Name, new { Name = "SellerBroker", @class = "control-label"})