我有这样的局部看法

 <%= Html.DropDownListFor(m => m.SelectedProductName, Model.ProductList, "Select a Product") %>


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

因此,就页面而言,我有2个具有相同“ id”的下拉框,这很糟糕,因为它们应该是唯一的。那么,如何更改ID?因此,在加载编辑内容时,其ID可能为“ editSelectedProductName”吗?

我试图在视图模型中做到这一点

public string SelectedProductName{ get; set; }

ViewModelConstructor()
{
  SelectedProductName = "EditSelectedProductName";
}


但它似乎不在乎,并继续使用“ SelectedProductName”作为产品名称

最佳答案

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

它看起来像这样:

Html.DropDownListFor(model=>model.SomeProperty, new {@id="UniqueID1234"});


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

08-06 05:09