2008-12-12 5 views

Antwort

50

versuchen Sie dies:

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

Jedes Formularelement in der hat eine "Form" Eigenschaft, die auf das Formular gerichtet ist, das dieses Element enthält.

Ja, mit "Html." und "Ajax". hat einen Unterschied. Ajax. bedeutet, dass eine teilweise Seitenaktualisierung verwendet wird und die gesamte Seite nicht neu geladen wird.

+2

einfach die Aussage zu korrigieren, <% = Html.DropDownList ("TopItemsList", Viewdata [ "Listdata"], neue {@ onchange =“ this.form.submit(); "})%> Beachten Sie das @ -Symbol. –

+1

Wenn Sie mehrere Dropdowns oder Textfelder haben, müssen Sie dies auch tun, ich habe eine CSS-Klasse erstellt und diese JS hinzugefügt. $ (". AjaxForcePost"). Change (function() { this.form.submit(); }); – bulltorious

6

Warum mischen Sie Ihre HTML mit Javascript?

löschen onchange Attribut und fügen Sie einige JQuery:

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

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

}); 
+1

Wird Probleme verursachen, wenn Sie mehr als eine Eingabe senden. – ThiefMaster