C# 如何从使用Html.DropDownList()创建的SELECT中删除选择?
我以这种方式创建了一个SELECT:C# 如何从使用Html.DropDownList()创建的SELECT中删除选择?,c#,asp.net-mvc,C#,Asp.net Mvc,我以这种方式创建了一个SELECT: Html.DropDownList("name", new SelectList(ViewBag.Cities, "Id", "Name"), "(select a city)"); 我知道正确的方法是使用模型传递数据并创建SelectList服务器端,但这是目前的情况。 需要明确的是,页面根本不使用模型。 视图的作用是返回this.View(“MyView”) ASP.Net引擎在回发上自动维护选择。 页面中有一个“重置”按钮,控制器将表单中使用的字段(
Html.DropDownList("name", new SelectList(ViewBag.Cities, "Id", "Name"), "(select a city)");
我知道正确的方法是使用模型传递数据并创建SelectList服务器端,但这是目前的情况。
需要明确的是,页面根本不使用模型。
视图的作用是返回this.View(“MyView”)代码>
ASP.Net引擎在回发上自动维护选择。
页面中有一个“重置”按钮,控制器将表单中使用的字段(数据通过ViewBag传递)设置为默认值
问题是我不知道如何以简单的方式删除下拉列表的选择。
我想我可以在ViewBag中使用SelectedCity属性并更改如下代码:
Html.DropDownList("name", new SelectList(ViewBag.Cities, "Id", "Name", ViewBag.SelectedCity), "(select a city)");
但是:
我尝试使用“null”(新的选择列表(ViewBag.Cities,“Id”,“Name”,null))
,但它不起作用李>
我不想引入新的变量
谢谢,
Alex您可以使用以下内容:
<%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems, new { @id = "poste", @onchange = "test3()" })%>
model.SelectedPoste,model.posteItems,new{@id=“poste”,“onchange=“test3()”})%>
在函数(本例中为test3)中添加重置、删除等代码
.您可以使用以下内容:
<%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems, new { @id = "poste", @onchange = "test3()" })%>
model.SelectedPoste,model.posteItems,new{@id=“poste”,“onchange=“test3()”})%>
在函数(本例中为test3)中添加重置、删除等代码
.如果您通过提交表单帖子进行重置,但仍在同一视图中返回该操作的相同“模型”,请尝试在代码后添加以下行:
ModelState.Clear();
如果您正在通过提交表单帖子进行重置,但仍在同一视图的该操作上返回相同的“模型”,请尝试在代码后添加以下行:
ModelState.Clear();
您是否通过表单提交帖子进行“重置”?或者您是如何做到的?您有一个重置按钮,可以将所有控件设置为默认值或从服务器清空。那么问题在哪里呢?您可以在那里再次绑定ViewBag.Cities
,这样当页面重新加载时,它将使用默认值再次绑定。重置由POST完成(页面包含一个带有submit=“reset”的按钮)。该事件由此.Request.Form[“reset”]!=null
。在“重置”事件(服务器端)上,ViewBag.Cities从零开始加载(实际上是对存储库的新请求),但DropDownList会维护选择(这就是ASP.Net的工作方式,ViewState不知道该集合已重新加载且选择已“重置”)。您是否通过表单提交帖子进行“重置”?或者您是如何做到的?您有一个重置按钮,可以将所有控件设置为默认值或从服务器清空。那么问题在哪里呢?您可以在那里再次绑定ViewBag.Cities
,这样当页面重新加载时,它将使用默认值再次绑定。重置由POST完成(页面包含一个带有submit=“reset”的按钮)。该事件由此.Request.Form[“reset”]!=null
。在“重置”事件(服务器端)上,ViewBag.Cities从零开始加载(实际上是对存储库的新请求),但DropDownList会维护选择(ASP.Net就是这样工作的,ViewState不知道集合选项已重新加载且选择已“重置”)。该页根本没有使用模型。该页根本没有使用模型。该页根本没有使用模型。是。我举了一个例子。并将源代码添加到我复制的代码中的页面。只是为了帮助这个家伙。这个页面根本没有使用模型。是的。我举了一个例子。并将源代码添加到我复制的代码中的页面。只是为了帮助这个家伙。