2008-12-12 13 views
21
<% using (Html.BeginForm() { %> 

    <%=Html.DropDownList("TopItemsList", ViewData["ListData"], new { onchange="[???]" })%> 

<% } %> 

Bir açılırma listesini aşağıdaki örnekte nasıl gönderirsiniz? Ya da, doğru formu nasıl alırsınız?asp.net mkt

Ajax.BeginFrom ile bir fark var mı?

cevap

50

bu deneyin:

<%=Html.DropDownList("TopItemsList", ViewData["ListData"], new { onchange="this.form.submit();" })%> 

her form öğesi bu öğe içeriyor forma işaret edilen bir "form" özelliğine sahiptir.

Evet, "Html." ve "Ajax." bir fark var. Ajax. kısmi sayfa güncellemesinin kullanılacağı ve tüm sayfanın yeniden yüklenmeyeceği anlamına gelir.

+2

Sadece ifadeyi düzeltmek için, <% = Html.DropDownList ("TopItemsList", ViewData [ "ListData"], yeni {@ Onchange =" this.form.submit(); "})%> , @ sembolünü not edin. –

+1

Birden fazla açılır veya metin kutunuz varsa bunu da yapmanız gerekir, bir CSS sınıfı oluşturdum ve bu JS'yi ekledim. $ (". AjaxForcePost"). Değiştir (function() { this.form.submit(); }); – bulltorious

6

Neden html'inizi javascript ile karıştırıyorsunuz?

bazı JQuery Onchange Özelliği sil ve ekleyin:

$("#TopItemsList").change(function() { 

    $("input[type=submit]").click(); 

}); 
+1

Birden fazla gönderim girdiniz varsa sorunlara neden olur. – ThiefMaster