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

4
我知道你可以使用ASP.NET创建一个文本框,它会自动填充模型中的任何值,方法是:
<%: Html.TextBoxFor(model => model.FirstName, new { id = "FirstName", placeholder = "[First Name]" }) %>

如果model.FirstName为空,有没有一种方法可以给它一个默认值?

我尝试添加value属性,但这并没有起作用。

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


1
同样的想法。然而,正如我在问题中所述,我尝试了最受欢迎的答案和被接受的答案,但都没有起作用。 - Alex
2个回答

11

如果model属性为null,你可以更改它来返回默认值(或在创建模型时设置默认值),或者你可以使用Html.TextBox辅助程序代替Html.TextBoxFor

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

或者使用"value"属性:

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

-1

你想要实现的功能,水印这种方式是否可行?

有许多不同的jquery实现方法-this看起来可以胜任,并且有一个选项可以使用标题属性作为水印,这可以成为你模型的一部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接