2010-05-16 9 views
17

Ben Şimdi yeni bir ürün oluşturmak ve varolan ürünü düzenleyebilirsiniz buAsp.net mvc 2.0 içinde Html.DropDownListFor helper kullanırken id değeri nasıl değiştirilir?

gibi bir şey vardır kısmi manzarası bulunmaktadır. Hem düzenleme hem de oluşturma aynı formu kullanır. Oluşturma, ana sayfada yüklenir. Düzenleme, jQuery UI modeli iletişim kutusunda açılır ve yeni kısmi görünüm oluşturur.

Sayfa ile ilgili olarak, benzersiz olması gerektiğinden, aynı "id" değerine sahip 2 açılır kutum var. Peki kimliği nasıl değiştiririm? Bu yüzden düzenleme yükleri "editSelectedProductName" kimliğine sahip olabilir mi?

Ben görünümü modeli

public string SelectedProductName{ get; set; } 

ViewModelConstructor() 
{ 
    SelectedProductName = "EditSelectedProductName"; 
} 

bu yapmaya çalıştık Ama

+0

Benim öğretici blog gösterisi http://blogs.msdn.com/b/rickandy/archive/2012/01/09/cascasding-dropdownlist -in-asp-net-mvc.aspx ve http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with -aspnet-mvc – RickAndMSFT

cevap

34

Şu anda belgelerine bulamıyor ürün adı olarak "SelectedProductName" kullanmaya devam ediyorsa umurumda değil gibi görünüyor ve fakat özelliklerin bir nesne-daktilo koleksiyonu kabul eder DropDownListFor için bir aşırı yük (HtmlAttributes parametre adı edilir.) bulunmaktadır

böyle bir şey olacaktır:

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

HtmlAttributes'ı içeren aşırı yüklemeyi bulmak için Intellisense özelliğini kullanabilirsiniz.

+0

Bunun htmlAttributes özelliğine sahip olduğunu biliyorum, ancak örneğinizde sabit kodlanmış. Her iki durum için de aynı kısmi görünümü kullanıyorum diye kodlanmış kod yazamam. Görebildiğim tek şey, yalnızca veriyi tutmak için görüntüleme verisi modelinde özel bir mülk edinmem gerekiyor. Bunu yapmak zorunda kalmayacağımı umuyordum. – chobo2

+0

Başka bir nokta, söz konusu listenin "name" özelliğinin "@ Name =" NotIdName "yi geçersiz kılmaya çalışsanız bile" SelectedProductName "olacağından bahsetmemizdir. umarım değildir). – chobo2

+0

Dave, İsim özniteliğini geçersiz kılmadım, bir yol biliyor musun? –

1

Bir kodlanmış jQuery kullanabilirsiniz: Bunun nasıl

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