mvc ajax到控制器并重定向到另一个控制器

时间:2015-02-17 11:15:13

标签: ajax asp.net-mvc

这是我的代码。我ajax到控制器并返回到另一个控制器,但没有任何附加。 我已经找到了问题,但我找不到答案。 我想将参数传递给另一个没有查询字符串的控制器 我不希望客户看到我的参数
我该怎么办请帮助

$.ajax({
    url : "home/search",
    type: "POST",
    data : {city :"" , date: ""},
    success: function(data, textStatus, jqXHR)
   });


public actionresult search(string city, datetime date ){

 return RedirectToAction("search");
}

public actionresult search(){

return view();
}

2 个答案:

答案 0 :(得分:0)

尝试将routevalues传递给重定向

public actionresult search(string city, datetime date ){

 return RedirectToAction("search", "home",  new { date = date,city=city });
}

答案 1 :(得分:0)

我发现这个解决方案,如果我们发布带隐藏输入的参数,网址就会清晰。

     post('result',
            {
                HotelOfferId: HotelOfferId,
                FlightOfferId: FlightOfferId,
                Residence: Residence,
                Nationality: Nationality,
                Checkin: CheckinString,
                Checkout: CheckoutString,
                FlightGuid: ""
            });



function post(path, params, method) {
method = method || "post";
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for (var key in params) {
    if (params.hasOwnProperty(key)) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "text");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);
        form.appendChild(hiddenField);
    }
}
document.body.appendChild(form);
form.submit();

}