我以这种方式创建了一个 SELECT:
Html.DropDownList("name", new SelectList(ViewBag.Cities, "Id", "Name"), "(select a city)");
我知道正确的方法是使用模型传递数据并创建 SelectList 服务器端,但这是当前情况。 需要明确的是,该页面根本不使用模型。 视图作为return this.View("MyView");
提供。
ASP.Net 引擎会自动在回发时维护选择。
页面中有一个"重置"按钮,在控制器中将表单中使用的字段(数据通过 ViewBag 传递(设置为默认值。
问题是我不知道如何以简单的方式删除该下拉列表的选择。 我想我可以在 ViewBag 中使用 SelectedCity 属性并像这样更改代码:
Html.DropDownList("name", new SelectList(ViewBag.Cities, "Id", "Name", ViewBag.SelectedCity), "(select a city)");
但:
- 我尝试使用"null"
(new SelectList(ViewBag.Cities, "Id", "Name", null))
但它不起作用。 - 我不想引入一个新变量。
谢谢 亚历克斯
你可以使用这样的东西:
<%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems, new { @id = "poste", @onchange = "test3()" })%>
在您的函数(在本例中为 test3(中添加用于重置、删除等的代码。
源。
如果您正在通过提交表单帖子进行重置,并且仍然在该操作上返回相同的"模型"相同的视图,请尝试在代码后添加以下行:
ModelState.Clear();