覆盖 MVC4 中表单输入的值

本文关键字:输入 表单 MVC4 覆盖 | 更新日期: 2023-09-27 18:36:30

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

我正在使用的代码:

@Html.TextBoxFor(x => x.Name, new { value="xxx" })

呈现以下内容:

<input id="EditDetail_SKU" name="EditDetail.SKU" type="text" value="" />

这有点烦人,因为值属性现在是空的。 看来我可以在事后添加各种属性,并且它们受到尊重,唉:

@Html.TextBoxFor(x => x.Name, new { value="xxx", thing="whatever",foo="bar" })

收益 率:

<input foo="bar" id="name" name="Name" thing="whatever" type="text" value="" />

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

覆盖 MVC4 中表单输入的值

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

快速而肮脏的方法是:

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

注意@和资本V

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

这就是strongly typed models在MVC中的工作方式 ASP.NET。

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

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

在你看来,

@Html.TextBoxFor(x => x.Name) 

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