Подтвердить что ты не робот

Как изменить значение id при использовании Html.DropDownListДля помощника в asp.net mvc 2.0?

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

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

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

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

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

public string SelectedProductName{ get; set; }

ViewModelConstructor()
{
  SelectedProductName = "EditSelectedProductName";
}

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

Вы можете использовать hardcoded jQuery:

$('select#[id of your select box]').attr('id', '[id that you want]');