2009-04-08 10 views
20

Asp.net MVC framework kullanıyorum. Sayfamda bir dropdwonbox'ım var ve bir seçenek tıklandığında başka bir sayfaya gitmek istiyorum. Ancak, autopostback özelliğini true olarak nasıl/nerede ayarlayacağımı bulamıyorum.C# Asp.net mvc kullanırken otomatik sıfırlama özelliği nasıl ayarlanır?

Aspx: Bu i kullanıyorum kodudur

<%= Html.DropDownList("qchap", new SelectList((IEnumerable)ViewData["qchap"], "Id", "Title")) %> 

Denetleyici:

public ActionResult Index(int id) 
{ 
    Chapter c = new Chapter(); 
    ViewData["qchap"] = c.GetAllChaptersByManual(id); 

    return View(); 
} 

Ne ben autopostback işlevini kullanmak için ne gerekiyor?

<%= Html.DropDownList("qchap", 
     new SelectList((IEnumerable)ViewData["qchap"], "Id", "Title"), 
     new { onchange = "this.form.submit();" }) %> 

cevap

36

Sen onchange istemci olayını kullanabilirsiniz. Belki bir formda kullanarak formu göndermek için özel bir özel html özniteliği yapın.

+0

thnx. Sınıf özelliğini eklemek istersem, aynı şekilde kullanmak zorunda mıyım? – Martijn

+2

evet, C# ile birlikte bir alt çizgi ile önek gerekir .. ie yeni {_class = "bir şey"} – meandmycode

+0

Denetleyici, hangi eylemin yürütülmesi gerektiğini bilecek? –

0

O DropDownList yardımcı yöntem bu desteklemez görünüyor:

0

Sana FormsCollection için geri gönderme ayarlamak isteyebilirsiniz bunu da inanmak

geri gönderme public ActionResult Index (FormsCollection MyForm)

(MVC yüklü benim ev pc değilim, bu yüzden buradaki sözdizimini doğrulayamıyorum)

0

Bu kodu kullanarak çözüyorum. Görünüm ben yardımcı olur umarım

<p> 
    <% Using Html.BeginForm()%> 
     <%=Html.DropDownList("ddlIndustry", New SelectList(CType(ViewData("IndustryList"), IEnumerable), "ID", "Name"), "--Choose industry--", New With {.onchange = "this.form.submit()"})%> 
    <% End Using %> 

    </p> 

için Ardından ActionResult fonksiyonu

için

var Ve

Function Index(ByVal collectionField As FormCollection) As ActionResult 

     Dim industryCategoryID As Long = collectionField.Item("ddlIndustry") 
     If industryCategoryID = 0 Then 
      Me.ViewData("IndustryList") = GlobalController.GetIndustryList 
      Return View(_service.ListCompanies()) 
     Else 
      Me.ViewData("IndustryList") = GlobalController.GetIndustryList 
      Return View(_service.ListCompanies(industryCategoryID)) 
     End If 

End Function 

. Ben daha eksiksiz kodlar isterim lütfen bana e-posta göndermek için iyi hissediyorum lütfen [email protected]