开发者

How to change id value when using Html.DropDownListFor helper in asp.net mvc 2.0?

I have a partial view that has something like this

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

Now you can create a new product and edit an existing product. Both editing and creating use the same form. The create is on the main page on load up. Edit pops up in a jQuery UI model dialog and renders a new partial view.

So as far as the page is concerned I have 2 dropdown boxes with the same "id" which is bad since they should be unique. So how do I change the id? So when the edit loads it might have a id of "editSelectedProductName"?

I tried to do this in the view model

public string SelectedProductName{ get; set; }

ViewModelConstructor()
{
  SelectedProductName = "EditSelectedPr开发者_如何学CoductName";
}

But it seems to not care and keeps using "SelectedProductName" as the product name


I can't find the documentation at the moment, but there is an overload for DropDownListFor that will accept an object-typed collection of attributes (HtmlAttributes is the parameter name.)

It will look something like this:

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

You can use Intellisense to find the overload that includes HtmlAttributes.


You can use a hardcoded jQuery:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜