如何重定向到同一个控制器的索引页面

时间:2015-09-25 12:20:10

标签: c# ajax asp.net-mvc

我有一个搜索表单。参数通过ajax请求发送到控制器。如果我的搜索结果,我想重定向到另一个页面并填写给定的参数。 首先失败的是重定向到另一个页面。我在调试器中看到调用了正确的操作,但结果我只能看到默认页面。

System.Web.Routing.RouteValueDictionary param = new System.Web.Routing.RouteValueDictionary();
//Result is evaluated before
//AjaxResult is wrapper class to display a "successful" / "error" message
if (ret.Data is AjaxResult)
{
    return ret;
} 
else 
{
    foreach (string p in form.AllKeys)
    {
        if (form.IsSet(p))
        { 
            //ViewData.Add(new KeyValuePair<string,object>(p, form.Get(p)));
            param.Add(p, form.Get(p));
        }
    }
    //return Redirect(Url.Action("Index", param));  //previous try
    //return Redirect("~/Preise/Index"); //previous try
    return RedirectToAction("Index", param);
}

所以即使没有参数的第二次尝试导致默认页面而不是“Preise / Index”我做错了什么?

1 个答案:

答案 0 :(得分:3)

你不能这样做因为它是一个AJAX请求。只需返回param并在响应处理程序中重定向客户端。