2009-07-24 3 views
1

Ich studiere Microsoft ASP MVC-Framework. Hier ist ein Problem Ich begegnete: Ich habe eine Sicht mit DropDownList, die eine Liste von Ländern und eine andere DropDownList für Staaten enthält. Das OnChange-Ereignis sendet das Formular zurück, und der Controller sendet dann Daten an das Status-Dropdown, das aktualisiert werden soll. Aber die zweite DropDownList ändert sich nicht. Sie bleiben so wie es vor der Aktualisierung war. Was soll ich tun, um das zu beheben?Seite aktualisieren in MVC

Vielen Dank im Voraus!

Bearbeiten: Call ModelState.Clear() im zweiten Controller beheben dieses Problem. Danke für alle, die Vorschläge machen! Wirklich Danke!

+0

Können Sie klären? Ich ändere etwas in der Länderliste, was dazu führt, dass die Seite selbst veröffentlicht wird. Dann sendet der Controller Daten an den Status Drop-down, der aktualisiert werden sollte? So ähnlich. –

+0

Danke Andrew und çağdaş – Roy

Antwort

2

ASP.Net MVC bietet a new mechanism zum Generieren dynamischer Webseiten. Es ist auf einer viel niedrigeren Abstraktionsebene als ASP.Net und daher werden bekannte Eigenschaften von ASP.Net-ähnlichen Ereignissen absichtlich nicht unterstützt.

Versuchen Sie, this blog entry für ein Beispiel zu lesen, wie Sie auf der Clientseite mithilfe von JQuery das tun können, was Sie möchten. Dies passt gut in den MVC-Ansatz

+0

Danke Mike. Ich werde es später versuchen! – Roy

+0

Ich kann jetzt nicht auf Blogspot zugreifen, aber ich habe gesehen, was Stephen Walther macht (http://stephenwalther.com/blog/archive/2008/09/07/asp-net-mvc-tip-41-creating) -cascading-dropdown-lists-with-ajax.aspx). Aber es gibt immer noch einige Probleme. Ich auch, was man ein Textfeld hinzufügt, das etwas zeigt, das mit dem Land in Verbindung steht. Sie haben immer noch das Problem, wie in der Frage beschrieben. Ich auch was zu wissen, warum dies auf ASP.net MVC passiert? Und was sollte ich tun, um dieses Verhalten von MVC zu ändern? Vielen Dank! – Roy

+0

Können Sie Ihren Code posten, damit ich sehen kann, was Sie tun möchten? – MikeD