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

时间:2012-12-21 12:12:55

标签: .net asp.net-mvc asp.net-mvc-3 razor html.textboxfor

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

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", value= "3" })

我尝试使用value

附加@
@Html.TextBoxFor(model=> model.Destination, new { id = "txtPlace", @value= "3" })

即使它使用空input

呈现html value标记
<input id="txtPlace" name="Destination" type="text" value 
   class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-mini" >

出了什么问题?

6 个答案:

答案 0 :(得分:68)

问题是您使用的是小写v。

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

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", Value= "3" })

答案 1 :(得分:10)

我尝试用value替换Value然后就解决了。它现在已在value标记中设置了input

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", Value= "3" })

答案 2 :(得分:8)

它将写下您的属性model.Destination

的值

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

答案 3 :(得分:6)

我尝试用value替换Value然后就解决了。它现在已在value标记中设置了input

答案 4 :(得分:4)

这对我有用,在MVC5中:

@Html.TextBoxFor(m => m.Name, new { @class = "form-control", id = "theID" , @Value="test" })

答案 5 :(得分:0)

Tries with following it will definitely work:

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", Value= "3" })

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", @Value= "3" })

<input id="txtPlace" name="Destination" type="text" value="3" class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-mini" >