MVC.Net:将Reponse Redirect从Get变为Post

时间:2014-05-28 19:45:05   收藏:0   阅读:374

在我们使用Response.Redirect命令的时候,有时候希望以POST的方式将参数传递过去。那么Redirect支持这种做法吗?答案是不支持。。。

======= 怎么办呢? =======

我们可以直接操作Response,生成FORM代码,利用JS跳转到目标地址。示例如下:

bubuko.com,布布扣
 1 StringBuilder sb = new StringBuilder();
 2 sb.Append("<html>");
 3 sb.AppendFormat(@"<body onload=‘document.forms[""form""].submit()‘>");
 4 sb.AppendFormat("<form name=‘form‘ action=‘{0}‘ method=‘post‘>", [需要跳转的URL地址]);
 5 sb.AppendFormat("<input type=‘hidden‘ name=‘[传递的参数名]‘ value=‘{0}‘>", 
 6     HttpUtility.UrlEncode([传递的参数值]));    // 此处必须Encode,否则单引号无法正确显示
 7 // 其它参数
 8 sb.Append("</form>");
 9 sb.Append("</body>");
10 sb.Append("</html>");
11 
12 Response.Write(sb.ToString());
13 
14 Response.End();
bubuko.com,布布扣

Done!

MVC.Net:将Reponse Redirect从Get变为Post,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!