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

时间:2012-05-07 16:11:33

标签: c# asp.net-mvc textbox

我知道您可以使用ASP.NET创建一个文本框,使用

自动填充模型中的任何值
<%: Html.TextBoxFor(model => model.FirstName, new { id = "FirstName", placeholder = "[First Name]" }) %>

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

我已尝试添加值属性,但这不起作用。

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

2 个答案:

答案 0 :(得分:11)

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

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

或使用value-attribute:

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

答案 1 :(得分:-1)

像水印这样的东西能用于你想要完成的任务吗?

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