简单的问题是,如果您使用ASP.NET MVC Framework 1中的Html Helper,则很容易在文本框上设置默认值,因为存在重载 Html.TextBox(string name, object value)
. 当我尝试使用Html.TextBoxFor方法时,我的第一个猜测是尝试以下哪些不起作用:
<%: Html.TextBoxFor(x => x.Age, new { value = "0"}) %>
我现在应该坚持使用Html.TextBox(字符串,对象)吗?
12 回答
这是我解决它的方式 . 如果您也使用它进行编辑,则此方法有效 .
如果您有编辑和添加的部分页面表单,那么我使用默认值为
0
的技巧是执行以下操作:这样,如果未设置,则为
0
,如果存在,则为实际年龄 .这对我有用,这样我们将默认值设置为空字符串
这对我有用
也尝试这个,即删除new {}并用string替换它 .
你可以试试这个
这适用于MVC3和MVC4
如果你想让它成为一个隐藏的领域
事实证明,如果您没有在控制器中为View方法指定Model,则它不会为您创建具有默认值的对象 .
默认值将是
Model.Age
属性的值 . 这就是重点 .你可以简单地做:
或者更好,如果模型为空,这将切换到默认值'0',例如,如果编辑和创建具有相同的视图:
value =“0”将为@ Html.TextBoxfor设置defualt值
其区分大小写的“v”应该是资本
以下是工作示例:
使用
@Value
是一个hack,因为它输出两个属性,例如:你应该这样做: