使用 ASP.NET MVC 在视图的 EditorFor() 方法中显示 ViewBag 的值
Displaying the Value of a ViewBag in the EditorFor() method of a View using ASP.NET MVC
这可能是我的语法错误,但我无法使用 ViewBag
.
为我的 EditorFor
设置默认值
我检查过 ViewBag.FirstName
中的值是否正确传递,没有问题。但是,该字段显示没有值。
我的说法是:
@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control" } , @Value = ViewBag.FirstName })
如有任何帮助,我们将不胜感激。
很抱歉我的问题很简单。
您真的应该以正常方式进行模型绑定:通过分配模型的值 属性。 ViewBag
不可维护且非强类型。
如果你真的确实出于某种原因需要ViewBag
,只需将你的分配移动到你的htmlAttributes
对象内的@Value
,就像这样:
@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control", @Value = ViewBag.FirstName } })
我知道这是一个旧答案,感谢 johnnyRose 提供的正确答案。我只是想补充一点,我仍然无法获得与它一起传递的@value,这是因为@Value 是一个简单的案例 v=V.. 想分享我的无知,希望能帮助别人。 :)
这可能是我的语法错误,但我无法使用 ViewBag
.
EditorFor
设置默认值
我检查过 ViewBag.FirstName
中的值是否正确传递,没有问题。但是,该字段显示没有值。
我的说法是:
@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control" } , @Value = ViewBag.FirstName })
如有任何帮助,我们将不胜感激。
很抱歉我的问题很简单。
您真的应该以正常方式进行模型绑定:通过分配模型的值 属性。 ViewBag
不可维护且非强类型。
如果你真的确实出于某种原因需要ViewBag
,只需将你的分配移动到你的htmlAttributes
对象内的@Value
,就像这样:
@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control", @Value = ViewBag.FirstName } })
我知道这是一个旧答案,感谢 johnnyRose 提供的正确答案。我只是想补充一点,我仍然无法获得与它一起传递的@value,这是因为@Value 是一个简单的案例 v=V.. 想分享我的无知,希望能帮助别人。 :)