如何在Razor语法中设置@ Html.TextBoxFor中的值?

vik*_*iki 28 .net asp.net-mvc razor asp.net-mvc-3 html.textboxfor

我使用Razor创建了一个文本框,并尝试设置value如下.

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", value= "3" })
Run Code Online (Sandbox Code Playgroud)

我曾尝试追加value@

@Html.TextBoxFor(model=> model.Destination, new { id = "txtPlace", @value= "3" })
Run Code Online (Sandbox Code Playgroud)

即使它将html input标记呈现为空value

<input id="txtPlace" name="Destination" type="text" value 
   class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-mini" >
Run Code Online (Sandbox Code Playgroud)

怎么了?

Gaz*_*ter 68

问题是你使用的是小写v.

您需要将其设置为值,它应该解决您的问题:

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", Value= "3" })
Run Code Online (Sandbox Code Playgroud)


vik*_*iki 10

我尝试更换value,Value它解决了.它设置valueinput现在的标签.

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", Value= "3" })
Run Code Online (Sandbox Code Playgroud)

  • 虽然它可以工作,但我认为更简洁的方法是在Controller中初始化模型的Destination属性. (3认同)
  • 你应该把gaz的答案标记为答案.不是你的. (2认同)

dov*_*ove 8

它将写下你的财产的价值 model.Destination

这是设计的.在返回视图之前,您需要使用控制器中所需的值填充Destination属性.


小智 6

我尝试更换value,Value它解决了.它设置valueinput现在的标签.