Asp.net mvc @Html.Dropdownlist上不可选择的占位符
如何在@Html.Dropdownlist上放置不可选择的占位符。 我在下拉列表中实现了所选jquery。 我的代码如下所示:Asp.net mvc @Html.Dropdownlist上不可选择的占位符,asp.net-mvc,jquery-chosen,Asp.net Mvc,Jquery Chosen,如何在@Html.Dropdownlist上放置不可选择的占位符。 我在下拉列表中实现了所选jquery。 我的代码如下所示: @Html.DropDownList("Id", new SelectList(new Ahib.Membership.UserFacade().GetAllUsers(), "Id", "Username"), "-select a system owner-", new { @class="chosen1-select" }) 目前,我的dropdownlist有
@Html.DropDownList("Id", new SelectList(new Ahib.Membership.UserFacade().GetAllUsers(), "Id", "Username"), "-select a system owner-", new { @class="chosen1-select" })
目前,我的dropdownlist有一个占位符,但“-选择一个系统所有者”-成为我不想要的可选值。如何解决此问题?您可以将列表转换为selectitem列表,并从控制器本身应用禁用属性 像这样
class user
{
public int Id { get; set; }
public string Username { get; set; }
}
@Html.DropDownList("test", ViewBag.listItems as IEnumerable<SelectListItem>);
假设你的模型是这样的
class user
{
public int Id { get; set; }
public string Username { get; set; }
}
@Html.DropDownList("test", ViewBag.listItems as IEnumerable<SelectListItem>);
将您的列表转换为如下所示的列表
,注意这里我禁用了“选择系统所有者”条目
public ActionResult Index()
{
List<user> users = new List<user>();
users.Add(new user { Id = 1, Username = "test1" });
users.Add(new user { Id = 2, Username = "test2" });
List<SelectListItem> list = new List<SelectListItem>();
list.Add(new SelectListItem { Text = "-select a system owner-", Value = "0", Disabled = true });
foreach (var item in users)
{
list.Add(new SelectListItem
{
Text = item.Username,
Value = item.Id.ToString()
});
}
ViewBag.listItems = list;
return View();
}
public ActionResult Index()
{
列表用户=新列表();
添加(新用户{Id=1,Username=“test1”});
Add(新用户{Id=2,Username=“test2”});
列表=新列表();
添加(新建SelectListItem{Text=“-选择系统所有者-”,Value=“0”,Disabled=true});
foreach(用户中的var项)
{
列表。添加(新建SelectListItem)
{
Text=item.Username,
Value=item.Id.ToString()
});
}
ViewBag.listItems=列表;
返回视图();
}
从长远来看,像这样使用它
class user
{
public int Id { get; set; }
public string Username { get; set; }
}
@Html.DropDownList("test", ViewBag.listItems as IEnumerable<SelectListItem>);
@Html.DropDownList(“test”,ViewBag.listItems为IEnumerable);
结果:
我尝试了你建议的解决方案。“-选择系统所有者”-将显示,但不会作为占位符。它显示为一个不可选择的选项。当我打开表单时,下拉列表的默认值仍然是“test1”,而不是“-选择系统所有者”-作为占位符。@matrixmy002将“选择系统所有者”更改为
list.Add(新建SelectListItem{Text=“-选择系统所有者-”,value=“0”,Disabled=true,Selected=true})代码>我尝试了你建议的解决方案。它适用于普通的下拉列表,但由于我使用的是Selected jquery,如果我键入/搜索“select”,则“select a system owner”选项将显示为搜索结果,而它应该是“no result match”。@matrixmy002这是一个完全不同的解决方案,然后您提供了,但您仍然可以通过稍微更改jquery来完成此操作,尝试探索,你会得到你想要的结果。,