如何从使用 Html.DropDownList() 创建的 SELECT 中删除选择?



我以这种方式创建了一个 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)");

但:

  1. 我尝试使用"null"(new SelectList(ViewBag.Cities, "Id", "Name", null))但它不起作用。
  2. 我不想引入一个新变量。

谢谢 亚历克斯

你可以使用这样的东西:

<%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems, new { @id = "poste", @onchange = "test3()" })%>

在您的函数(在本例中为 test3(中添加用于重置、删除等的代码。

源。

如果您正在通过提交表单帖子进行重置,并且仍然在该操作上返回相同的"模型"相同的视图,请尝试在代码后添加以下行:

ModelState.Clear();

最新更新