我有这样的局部看法
<%= 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的重载。