Как изменить значение идентификатора при использовании HTML. Помощник DropDownListFor в asp.net mvc 2.0?

У меня есть частичное представление, которое имеет что-то вроде этого

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

Теперь можно создать новый продукт и отредактировать существующий продукт. И редактирование и создание использования та же форма. Создавание находится на основной странице на загрузке. Редактирование открывается в диалоговом окне модели UI jQuery и представляет новое частичное представление.

Таким образом, насколько страница обеспокоена, что у меня есть 2 выпадающих поля с тем же "идентификатором", который плох, так как они должны быть уникальными. Таким образом, как я изменяю идентификатор? Таким образом, когда загрузки редактирования это могло бы иметь идентификатор "editSelectedProductName"?

Я пытался сделать это в модели представления

public string SelectedProductName{ get; set; }

ViewModelConstructor()
{
  SelectedProductName = "EditSelectedProductName";
}

Но это, кажется, не заботится и продолжает использовать "SelectedProductName" в качестве названия продукта

17
задан numaroth 18 February 2015 в 16:39
поделиться

1 ответ

Я не могу сейчас найти документацию, но есть перегрузка для DropDownListFor, которая будет принимать объектно-типизированную коллекцию атрибутов (HtmlAttributes - это имя параметра.)

Это будет выглядеть примерно так:

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

Вы можете использовать Intellisense, чтобы найти перегрузку, которая включает HtmlAttributes.

35
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: