如何将值绑定到 MVC 中的文本框
How to bind a value to a text box in MVC
当我想将模型中的值绑定到文本框时遇到问题,这是我的 MVC 视图代码:
@Html.TextBox("SellerBroker", model => model.OutOfMarket.BuyerBroker.Name , new { @class = "control-label" })
我希望我的文本框有一个名称或 'SellerBroker' 并且它的值来自我的模型 属性 model => model.OutOfMarket.BuyerBroker.Name
并且具有 HTML class = "control-label"
的属性].但是,我收到以下错误:
Cannot convert lambda expression to type 'object' because it is not a delegate type
@Html.TextBox()
可用于生成具有初始值的文本框(单向绑定)。
如果您想真正将文本框绑定到您的 class 属性(两种绑定方式),您应该使用 @Html.TextBoxFor()
助手。此方法将 lambda 表达式作为参数,如您的示例中所用。
您可以在以下位置找到有关 TextBox 助手的更多详细信息:Html.Textbox VS Html.TextboxFor
Helper @Html.TextBox()
不包含具有 lambda 参数的超载。你应该像这样在没有 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"})
当我想将模型中的值绑定到文本框时遇到问题,这是我的 MVC 视图代码:
@Html.TextBox("SellerBroker", model => model.OutOfMarket.BuyerBroker.Name , new { @class = "control-label" })
我希望我的文本框有一个名称或 'SellerBroker' 并且它的值来自我的模型 属性 model => model.OutOfMarket.BuyerBroker.Name
并且具有 HTML class = "control-label"
的属性].但是,我收到以下错误:
Cannot convert lambda expression to type 'object' because it is not a delegate type
@Html.TextBox()
可用于生成具有初始值的文本框(单向绑定)。
如果您想真正将文本框绑定到您的 class 属性(两种绑定方式),您应该使用 @Html.TextBoxFor()
助手。此方法将 lambda 表达式作为参数,如您的示例中所用。
您可以在以下位置找到有关 TextBox 助手的更多详细信息:Html.Textbox VS Html.TextboxFor
Helper @Html.TextBox()
不包含具有 lambda 参数的超载。你应该像这样在没有 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"})