У меня есть частичное представление, которое имеет что-то вроде этого
<%= Html.DropDownListFor(m => m.SelectedProductName, Model.ProductList, "Select a Product") %>
Теперь можно создать новый продукт и отредактировать существующий продукт. И редактирование и создание использования та же форма. Создавание находится на основной странице на загрузке. Редактирование открывается в диалоговом окне модели UI jQuery и представляет новое частичное представление.
Таким образом, насколько страница обеспокоена, что у меня есть 2 выпадающих поля с тем же "идентификатором", который плох, так как они должны быть уникальными. Таким образом, как я изменяю идентификатор? Таким образом, когда загрузки редактирования это могло бы иметь идентификатор "editSelectedProductName"?
Я пытался сделать это в модели представления
public string SelectedProductName{ get; set; }
ViewModelConstructor()
{
SelectedProductName = "EditSelectedProductName";
}
Но это, кажется, не заботится и продолжает использовать "SelectedProductName" в качестве названия продукта
Я не могу сейчас найти документацию, но есть перегрузка для DropDownListFor, которая будет принимать объектно-типизированную коллекцию атрибутов (HtmlAttributes - это имя параметра.)
Это будет выглядеть примерно так:
Html.DropDownListFor(model=>model.SomeProperty, new {@id="UniqueID1234"});
Вы можете использовать Intellisense, чтобы найти перегрузку, которая включает HtmlAttributes.