如何为Html.TextBoxFor(...)文本框设置默认值?

Ale*_*lex 4 c# asp.net-mvc textbox

我知道您可以使用ASP.NET创建一个文本框,该文本框将自动填充模型中的任何值

<%: Html.TextBoxFor(model => model.FirstName, new { id = "FirstName", placeholder = "[First Name]" }) %>
Run Code Online (Sandbox Code Playgroud)

如果model.FirstName为null,有没有办法给它一个默认值?

我已经尝试添加一个值属性,但这不起作用.

我也无法传递包含该值的模型,因为它会影响表单的其他区域.

Mar*_*num 11

您可以更改模型属性以返回默认值(如果它为null(或在创建模型时设置默认值),或者您可以使用Html.TextBox帮助程序而不是Html.TextBoxFor:

<%: Html.TextBox("FirstName", Model.FirstName ?? "The default value", new { id = "FirstName", placeholder = "[First Name]" }) %>
Run Code Online (Sandbox Code Playgroud)

或使用value-attribute:

<%: Html.TextBoxFor(model => model.FirstName, new { @Value = "The default value", id = "FirstName", placeholder = "[First Name]" }) %>
Run Code Online (Sandbox Code Playgroud)