2016-03-20 7 views
-1

Asp.net mvc 5 rendert eine Teilansicht nach dem Auswählen eines Wertes, indem er auf die Kaskadierungs-Combobox klickt.Asp.net mvc 5 rendert eine Teilansicht, nachdem ein Wert ausgewählt wurde

Ich bin in einem Lernprozess, also entschuldige ich mich wenn off Thema. Ich habe meine erste Frage in SO bezüglich Dropdown oder Combobox. Link, der den verwendeten Code veranschaulicht: Retrieve fields from database without emulating them?.

Wie rende ich eine Teilansicht (StateId=1 Partial View, StateId=2 Partial View, etc), wenn die Bedingung erfüllt ist, nachdem ich auf "Senden" geklickt habe? Wenn ich Kanada als Land auswähle und in der zweiten Liste Ontario (StateId=1) wähle, wie kann ich es auf eine Teilseite bringen, auf der ich Ontarios demografische Informationen (zum Beispiel) habe.

Vielen Dank im Voraus. Übrigens habe ich diese Dropdown-Listen in einem modalen Popup-Fenster implementiert, ist aber momentan nicht relevant (ich werde es später für Interessierte veröffentlichen).

Der Controller, die Ansicht und die Modelle sind identisch mit dem Link, den ich zur Verfügung gestellt habe (Probleme beim Posten des Codes).

public ActionResult CountryList() 
    { 
     IQueryable countries = Country.GetCountries(); 

     if (HttpContext.Request.IsAjaxRequest()) 
     { 
      return Json(new SelectList(
         countries, 
         "CountryCode", 
         "CountryName"), JsonRequestBehavior.AllowGet 
         ); 
     } 

     return View(countries); 
    } 

    public ActionResult StateList(string CountryCode) 
    { 
     IQueryable states = State.GetStates().Where(x => x.CountryCode == CountryCode); 

     if (HttpContext.Request.IsAjaxRequest()) 
      return Json(new SelectList(
          states, 
          "StateID", 
          "StateName"), JsonRequestBehavior.AllowGet 
         ); 

     return View(states); 
    } 
+0

Ich würde Ihnen empfehlen, einige Codebeispiele zu posten. – Wtower

Antwort

0

Warum würden Sie eine Teilansicht benötigen? Eine Möglichkeit, dies zu lösen, wäre die Verwendung der StateId als Wert für ein Formular, das Hinzufügen einer Übergabeschaltfläche und das Aufrufen einer Aktion in Ihrem Controller, die dann die gewünschte Ansicht basierend auf dem Parameter StateId rendert.

+0

Danke für die neg – Dixon

+0

Warum Teilansicht? Ich verwende diesen Ansatz, um auf verschiedene Teile meiner Website zuzugreifen, die eine Gruppe von Ansichten sind, die jeweils mehrere Teilansichten enthalten. Die "Erfolg" -Kombination auf der Kaskadierung wird den Benutzer zu dieser bestimmten "Abteilung" bringen. Werde eine Probe veröffentlichen, sobald ich lerne, mit den Buchungsproblemen umzugehen. – Dixon

+0

Danke Martin. Können Sie einen kleinen Beispielcode basierend auf meiner Frage veröffentlichen? Was ich wirklich erreichen möchte, ist diese kaskadierende DDL-Methode, um herum zu navigieren. Es sieht gut aus in einem modalen Popup. Danke im Voraus. Ich weiß, dass ich stattdessen das DDL-Navigationsmenü verwenden könnte. – Dixon