指定名称和ID以下拉剃刀技术asp dot net mvc4

Rah*_*hil 6 asp.net-mvc html-select razor asp.net-mvc-4

我有asp网页表单,我正在使用razor技术发布该表单,问题是,我想知道如何指定ID和NAME属性到razor下拉列表,因为,在下一步,我得到表单值通过使用ID和NAME属性..

VIEW代码是:

@Html.DropDownList("ID", (SelectList) ViewBag.list, " -- Select Business Type -- ")
Run Code Online (Sandbox Code Playgroud)

控制器:

public ActionResult coverage()
{
    var query = db.Database.SqlQuery<businessDropDownModel>("businesDropDownSP");
    ViewBag.list = new SelectList(query.AsEnumerable(), "ID", "BusinessTypeName", "----select----");

    return View();
}
Run Code Online (Sandbox Code Playgroud)

模型:

public class businessDropDownModel
{
    public int ID { set; get; }
    public string BusinessTypeName { set; get; } 
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*ily 10

如果要设置名称和ID或其他属性,可以使用html attributes选项.

注意:该方法有一个怪癖:您可以使用属性字典覆盖"id",但不能覆盖"name".

例:

@Html.DropDownList("Selected", Model.SelectList, "First Option", new { name = "Name", id = "id"})
Run Code Online (Sandbox Code Playgroud)

将呈现:

<select id="id" name="Selected">...</select>
Run Code Online (Sandbox Code Playgroud)

因此结果是:如果您希望name和id不同,请将name 参数设置为您想要的名称,并使用字典覆盖id.


JLe*_*JLe 8

第一个参数@Html.DropDownList("MyIdAndName", (SelectList) ViewBag.list, " -- Select Business Type -- ")是select标签的id和名称.

所以,

@Html.DropDownList("MyIdAndName", (SelectList) ViewBag.list, " -- Select Business Type -- ")
Run Code Online (Sandbox Code Playgroud)

会呈现

<select id="MyIdAndName" name="MyIdAndName">...</select>
Run Code Online (Sandbox Code Playgroud)