如何从View重定向到必须返回另一个视图的控制器方法

时间:2013-11-28 12:28:45

标签: jquery asp.net-mvc asp.net-mvc-routing

我有一个视图,其中包含一个按钮,单击该按钮必须重定向到控制器中返回另一个视图的方法。问题是这个方法接受了参数,我不确切地知道如何在每次单击它重定向的按钮时传递它们吗?

方法:

public virtual ActionResult Classificate (int firstArg, int secondArg)
        {
            //Some logics
            return View(MVC.Document.Views.MyView, model: result);
        }

HTML:

<div id="my-button-id">Button</>

并且在视图的html中我希望能够编写一个js代码,在每个“#my-button-id”上单击重定向,并将2个参数传递给该方法的函数在控制器中。

pseudecode:

$("#my-button-id").on('click',function(){
    redirectToOtherView(4, 5)
});

function redirectToOtherView(fArg, sArg){
    //this function to redirect to the Classificate method in the Document controller
    //by passing the arguments
}

1 个答案:

答案 0 :(得分:3)

您需要pass the parameter as query string for GET request和正常页面重定向

function redirectToOtherView(fArg, sArg){   

 var queryString="firstArg="+fArg+"&secondArg=sArg";

 window.location.href="/ControllerName/Classificate/?"+queryString

}

对于ajax GET

$.get(url, {firstArg:fArg, secondArg:sArg}, 
    function(result){
    $('#container').html(result);
    }
);

或ajax POST - &gt;在Controller中添加[HttpPost]

$.post(url, {firstArg:fArg, secondArg:sArg}, 
    function(result){
        $('#container').html(result);
    }
);