我正在尝试使用MVC4创建一个表单,到目前为止一切顺利,但我遇到了一个问题,即通过设置相关的'value'属性,似乎无法为我的输入提供默认值。
我正在使用的代码:
@Html.TextBoxFor(x => x.Name, new { value="xxx" })
呈现以下内容:
<input id="EditDetail_SKU" name="EditDetail.SKU" type="text" value="" />
这有点烦人,因为value属性现在为空。似乎我可以在事后添加各种属性,并且它们受到尊重,ala:
@Html.TextBoxFor(x => x.Name, new { value="xxx", thing="whatever",foo="bar" })
收率:
<input foo="bar" id="name" name="Name" thing="whatever" type="text" value="" />
这些属性甚至可以弥补,但它们仍然受到尊重,那么为什么在这种情况下会忽略“价值”,我能做些什么来防止这种情况呢?
答案 0 :(得分:1)
请参阅此主题: How to set a default value with Html.TextBoxFor?
快速而肮脏的方法是:
<%= Html.TextBoxFor(x => x.Age, new { @Value = "0"}) %>
请注意@
和大写V
答案 1 :(得分:0)
默认值将是模型内Name
属性的值。
这是strongly typed models
在ASP.NET MVC中的工作方式。
在您的相应操作中,将Name
变量指定为默认值。
public ActionResult Index()
{
var model = new YourModel();
model.Name = "Default Value";
return View(model);
}
在您看来,
@Html.TextBoxFor(x => x.Name)
答案 2 :(得分:0)
使用@Value
代替值。 value
是关键字。