0

我正在尝试使用 MVC4 创建一个表单,到目前为止进展顺利,但我遇到了一个问题,似乎无法通过设置关联的“值”属性来为我的输入提供默认值。

我正在使用的代码:

@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="" />

这些属性甚至是组成的,但它们仍然受到尊重,那么为什么在这种情况下会忽略“价值”,我能做些什么来防止这种情况发生吗?

4

3 回答 3

1

请参考此线程: 如何使用 Html.TextBoxFor 设置默认值?

快速而肮脏的方法是:

<%= Html.TextBoxFor(x => x.Age, new { @Value = "0"}) %>

注意@和 大写V

于 2013-10-23T14:31:23.720 回答
0

使用@Value而不是价值。value是一个关键字。

于 2013-10-23T14:32:13.323 回答
0

默认值将是Name模型内部属性的值。

这就是strongly typed modelsASP.NET MVC 中的工作方式。

在您各自的操作中,将Name变量分配给默认值。

public ActionResult Index()
{ 
    var model = new YourModel();
    model.Name = "Default Value";

    return View(model);
}

在你看来,

@Html.TextBoxFor(x => x.Name) 
于 2013-10-23T14:31:11.283 回答