Javascript 有条件地创建具有相同名称的dropdownlist

Javascript 有条件地创建具有相同名称的dropdownlist,javascript,c#,asp.net,asp.net-mvc-4,Javascript,C#,Asp.net,Asp.net Mvc 4,我有一个来自模型的值来确定我是处于创建模式还是编辑模式。。。如果我处于编辑模式,我想将dropdownlist的值设置为上次保存的值。如果我处于创建模式,我想将我的dropdownlist默认为默认值 *.ASCX <% if(Model.isCreate == true) { Html.DropDownList("myOptionListName", new SelectList(ViewBag.MyOptio

我有一个来自模型的值来确定我是处于创建模式还是编辑模式。。。如果我处于编辑模式,我想将dropdownlist的值设置为上次保存的值。如果我处于创建模式,我想将我的dropdownlist默认为默认值

*.ASCX

<% if(Model.isCreate == true)
   {
        Html.DropDownList("myOptionListName", 
                           new SelectList(ViewBag.MyOptions, "Id", "Name"),
                           Resources.Global.DefaultMenuItem, 
                           new { style = "width:200px" });
   }
   else
   {
        Html.DropDownList("myOptionListName", 
                           new SelectList(ViewBag.MyOptions, "Id", "Name", 
                           ViewBag.LastSavedOption), 
                           new { style = "width:200px" });
   }%>

如果我只使用一个或另一个而不使用If,那么一个菜单只能在一个场景中工作。。。我需要使用“myOptionListName”作为名称,因为我有其他javascript引用它。现在,上面的代码没有呈现任何下拉列表


问:如何使菜单基于if检查显示,但名称相同?

您可以根据表单模式创建选择列表,然后将相应的选择列表分配给控件

<% var selectList = new SelectList(ViewBag.MyOptions, "Id", "Name");

   if(!Model.isCreate)
   {
        selectList = new SelectList(ViewBag.MyOptions, "Id", "Name", 
                           ViewBag.LastSavedOption);
   }

   Html.DropDownList("myOptionListName", selectList , 
                           new { style = "width:200px" });
   %>

if块不需要使用
if。如果
myOptionListName
的值与其中一个选项的值匹配,则将选择该选项,以便在控制器中设置值。并学习使用视图模型!