4

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

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

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

我试过添加一个 value 属性,但这没有用。

我也不能传入包含该值的模型,因为它会影响表单的其他区域。

4

2 回答 2

11

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

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

或使用价值属性:

<%: Html.TextBoxFor(model => model.FirstName, new { @Value = "The default value", id = "FirstName", placeholder = "[First Name]" }) %>
于 2012-05-07T16:21:35.817 回答
-1

水印之类的东西是否适用于您要完成的工作?

jquery 有许多不同的实现 -看起来可以工作,并且可以选择使用 title 属性作为水印,这可能是模型的一部分。

于 2012-05-07T16:30:31.560 回答