使用ASP.NET MVC在View的EditorFor()方法中显示ViewBag的值

时间:2015-08-25 21:51:01

标签: c# asp.net asp.net-mvc razor editorfor

我的语法可能有误,但我无法使用EditorFor在我的视图中为ViewBag设置默认值。

我已经检查过ViewBag.FirstName中的值正确传递,没关系。但是,该字段显示没有任何值。

我的陈述是:

@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control" } ,  @Value = ViewBag.FirstName })

非常感谢任何帮助 为我的问题简单而道歉。

2 个答案:

答案 0 :(得分:11)

你应该以正常方式进行模型绑定:通过赋值模型属性的值。 ViewBag无法维护,也不是强类型。

如果您因某种原因确实 需要ViewBag,只需将您的作业移至@Value对象内的htmlAttributes,如下所示:

@Html.EditorFor(model => model.Person.FirstName, new { htmlAttributes = new { @class = "form-control", @Value = ViewBag.FirstName } })

答案 1 :(得分:0)

我知道这是一个古老的答案,感谢johnnyRose的正确答案。我只是想补充一点,我仍然无法通过它传递@value,这是因为@Value是一个简单的案例v = V ..想要分享我的无知,希望能帮助另一个人。 :)