在asp.net mvc 2.0中使用Html.DropDownListFor helper时如何更改id值?

cho*_*bo2 17 .net asp.net-mvc jquery-ui asp.net-mvc-2

我有一个像这样的部分观点

 <%= Html.DropDownListFor(m => m.SelectedProductName, Model.ProductList, "Select a Product") %>
Run Code Online (Sandbox Code Playgroud)

现在,您可以创建新产品并编辑现有产品.编辑和创建都使用相同的表单.加载时,创建位于主页面上.编辑在jQuery UI模型对话框中弹出,并呈现新的局部视图.

因此,就页面而言,我有2个具有相同"id"的下拉框,这是不好的,因为它们应该是唯一的.那么我该如何更改ID呢?因此,当编辑加载时,它的id可能是"editSelectedProductName"?

我试图在视图模型中执行此操作

public string SelectedProductName{ get; set; }

ViewModelConstructor()
{
  SelectedProductName = "EditSelectedProductName";
}
Run Code Online (Sandbox Code Playgroud)

但它似乎并不关心并继续使用"SelectedProductName"作为产品名称

Dav*_*sky 35

我目前找不到文档,但DropDownListFor有一个重载,它将接受一个对象类型的属性集合(HtmlAttributes是参数名称.)

它看起来像这样:

Html.DropDownListFor(model=>model.SomeProperty, new {@id="UniqueID1234"});
Run Code Online (Sandbox Code Playgroud)

您可以使用Intellisense查找包含HtmlAttributes的重载.

  • 没关系,我只是找到了办法.而不是"名称",使用"名称".出乎意料地工作. (5认同)