2016-11-07 1 views
-1

Ich erstelle eine Immobilien-Anwendung und bin verwirrt darüber, wie man die Kauf- und Miet-URLs zeigt.MVC 1 Submit-Button mit mehreren Aktionen

Ich habe eine Seite mit 2 Radiobuttons zum Kaufen und Mieten.

Wenn ein Benutzer auf die Suchschaltfläche klickt, möchte ich eine andere Aktion auf meinem Controller basierend auf der Optionsfeldauswahl aufrufen und zu dieser URL navigieren.

zB wenn der Benutzer auf die Schaltfläche Radio kaufen klickt und klickt auf die Suche wird die Aktion und die URL wird kaufen werden/kaufen/Eigenschaften

, wenn der Benutzer auf das Optionsfeld mieten klickt und die Aktion suchen Klicks mieten und die URL wird sein/Miete/Eigenschaften

Ich möchte nur eine Schaltfläche senden, die Suche genannt wird und es verschiedene Aktionen auf der Grundlage der Radio-Button-Auswahl aufrufen.

Ich bin nicht sicher, wie diese Aufgabe ausgeführt wird?

+0

Sie müssen Javascript/jquery verwenden, um die URL basierend auf dem ausgewählten Optionsfeld zu erstellen. –

Antwort

0

Als Alternative zu Javascript, können Sie einfach auf eine Controller-Aktion posten Sie Ihre Form und leiten von dort .

public ActionResult ActionName(PurchaseType purchaseType) 
{ 
    if (purchaseType == PurchaseType.Rent) 
    return RedirectToAction("Rent", "Index"); 
    else 
    return RedirectToAction("Buy", "Index"); 
} 
+0

Diese Antwort hat mich in die richtige Richtung geschickt, danke. – Resourceful

0

Angenommen, Ihre Taste I html ist wie:

<input type="button" id="btnSubmit" value="Search" /> 

und Radio-Buttons werden wie:

<input type="radio" name="trade" value="Buy">Buy</input> 
<input type="radio" name="trade" value="Rent">Rent</input> 

in JQuery U wird das Schreiben

$("#btnSubmit").click(function(){ 
var checkedValue=$('input:radio[name=trade]:checked').val(); 
var URL = //Based on the checkedValue, you can hit the desired URL string here. 
$.get(URL, function(data) { 

}); 
} 

}); 
0

wenn Sie wollen Post Form Sie können dies verwenden.
Html-Code:

<form action="" method="post" id="MyForm"> 
     <label> 
      <input type="radio" name="StateType" value="Buy" /> 
      Buy 
     </label> 
     <label> 
      <input type="radio" name="StateType" value="Rent" /> 
      Rent 
     </label> 

     <input type="button" value="Submit" onclick="redirect()" /> 

</form> 

JQuery-Code:

<script src="~/Scripts/jquery.validate.min.js"></script> 
<script> 
    function redirect() { 
     if ($("#MyForm").valid()) { 
      // if form isValid 
      var url = ""; 
      var urlBuy = "@Url.Action("Buy","Home")"; 
      var urlRent = "@Url.Action("Rent","Home")"; 

      var selectedRadio = $("input[name='StateType']:checked").val(); 

      if (selectedRadio == "Buy") { 
       url = urlBuy; 
      } else { 
       url = urlRent; 
      } 

      var frm = $(event.target).closest("form"); 
      frm.attr("action", url); 
      frm.submit(); 
     } 
    } 
</script> 

Good Luck

Verwandte Themen