MVC 1提交具有多个动作的按钮

时间:2016-11-07 07:09:33

标签: asp.net-mvc

我正在创建一个房地产应用程序,我对如何显示购买和租赁网址感到困惑。

我有一个带有2个单选按钮的页面供买和租。

当用户点击搜索按钮时,我想根据单选按钮选择在我的控制器上调用不同的操作并导航到该URL。

例如,如果用户点击“购买”单选按钮并单击搜索,则操作将为“购买”,并且网址将为/ buy / properties

如果用户点击租借单选按钮并点击搜索,则该行动将被租用,而网址将为/ rent / properties

我只想要一个名为search的提交按钮,它根据单选按钮选择调用不同的动作。

我不确定如何执行此任务?

3 个答案:

答案 0 :(得分:0)

假设您的按钮我是html:

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

单选按钮就像:

<input type="radio" name="trade" value="Buy">Buy</input>
<input type="radio" name="trade" value="Rent">Rent</input>
在Jquery U中

将写作

$("#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) {

}); 
}

});

答案 1 :(得分:0)

如果您想发布可以使用此表单的表单。    
Html代码:

<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代码:

<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>

祝你好运

答案 2 :(得分:0)

作为Javascript的替代方案,您只需将表单发布到控制器操作并从那里重定向即可。

public ActionResult ActionName(PurchaseType purchaseType)
{
  if (purchaseType == PurchaseType.Rent)
    return RedirectToAction("Rent", "Index");
  else
    return RedirectToAction("Buy", "Index");
}
相关问题