我正在尝试从控制器重定向到另一个页面,代码是:
Response.Redirect("http://server1:8080/amj/servlet/inv/template/print.html?txt=ABC");
但重定向已完成此网址:
http://server1:8080/amj/servlet/inv/txt/ABC/template/print.html
如您所见,它将txt = ABC放在字符串...
的中间如果我尝试使用没有问号的网址,则可以正常使用。
提前感谢您的帮助。
此致
卡洛斯。
答案 0 :(得分:0)
查询字符串参数与路由设置中的一个路由匹配。
您可以使用RegisterRoutes方法中的routes.IgnoreRoute来解决特定页面/路径问题。
另一种选择是不使用Response.Redirect而是使用Controller / Action路由模型。这将是首选方法,您可以在this文章中详细了解原因。
答案 1 :(得分:0)
您可以尝试以下方法。控制器的ActionResult
可以返回Content
类型,其中包含重定向的链接。
public ActionResult RedirectPage(long param)
{
string url = "http://server1:8080/amj/servlet/inv/template/print.html?id=" + param;
return Content("<html><script>window.location.href = '" + url + "';</script></html>");
}