我在create View中有一个简单的组合框。保存数据后,当我进入编辑模式时,我想在组合框中显示已保存的项目。下面是创建视图中组合框的代码:
<select>
<option value="" disabled="disabled" selected="selected">Select Vendor</option>
<option value="1">Jindal Ltd</option>
<option value="2">ABC Enterprise</option>
<option value="3">Sun Manufacture</option>
</select>
创建表单的屏幕截图。
现在,我应该在控制器和视图中编写什么代码,这样我才能在组合框中显示保存的项目?
以下是编辑模式的屏幕截图,我想在组合框中显示已保存的项目。
答案 0 :(得分:1)
您可以使用jquery将所选值设置为如下所示。另外,由于@Guillelon说我们无法完全看到视图代码,因此我们很容易看到您的视图的样子并提出答案。
以下示例是普通的html。
@{
ViewBag.Title = "Home Page";
}
<script type="text/javascript">
$(document).ready(function () {
$("#test").val("2");
});
</script>
</div>
<select id="test">
<option value="1">Test1</option>
<option value="2">Test2</option>
<option value="3">Test3</option>
</select>
如果您使用强类型模型,它看起来就像是跟随。
@model MVC3Stack.Models.MyModel
@{
ViewBag.Title = "Home Page";
}
<script type="text/javascript">
$(document).ready(function () {
$("#test").val('@Model.SelectedValue');
});
</script>
</div>
<select id="test">
<option value="1">Test1</option>
<option value="2">Test2</option>
<option value="3">Test3</option>
</select>
还有一个例子
指数行动方法
public ActionResult Index()
{
MyModel mod = new MyModel { SelectedValue=2 };
return View(mod);
}
视图
@model MVC3Stack.Models.MyModel
@{
ViewBag.Title = "Home Page";
List<SelectListItem> lst = new List<SelectListItem>();
lst.Add(new SelectListItem() { Value="1", Text="test1" });
lst.Add(new SelectListItem() { Value = "2", Text = "test2" });
lst.Add(new SelectListItem() { Value = "3", Text = "test3" });
}
<h2>@ViewBag.Message</h2>
</div>
@Html.DropDownListFor(m => m.SelectedValue, lst);