默认表单字段值未在视图中设置

时间:2013-06-23 21:37:48

标签: asp.net-mvc-3 viewbag

我正在尝试使用默认值填充输入文本字段,但是当视图呈现时,默认值不会应用于输入文本字段。

重要细节

我将值从控制器操作传递到ViewBag

在视图页面上调试时,我看到ViewBag具有我需要的默认值

如果我在视图的输入文本字段中正确设置了默认值,有人可以告诉我吗?

由于

以下是我要填充的输入文本框:

 <div class="editor-field">
        @Html.EditorFor(model => model.SearchRadius, new { @Value = ViewBag.SearchRadius})
</div>

2 个答案:

答案 0 :(得分:2)

如果您将EditorFor更改为TextBoxFor它应该可以工作,因为editorfor没有对您正在尝试的内容进行任何重载。 但是我建议您在控制器操作中设置默认值model.SearchRadius,而不是设置欺骗视图包项目:

控制器操作

public ActionResult Index() {
    var model = new MyViewModel();
    model.SearchRadius = "Whatever";
    return View();
}

<强>剃刀

<div class="editor-field">
    @Html.EditorFor(model => model.SearchRadius)
</div>

答案 1 :(得分:1)

请你试试

<div class="editor-field">
        @Html.TextBoxFor(model => model.SearchRadius, new { @Value = ViewBag.SearchRadius})
</div>

请注意@Value中的'V';它是一个首都。出于某种原因@value dosent似乎有效