我想将/ mynode中的帖子重定向到/ eng / mynode /并保留表单数据。 我尝试过“Server.Transfer”但是我收到一条错误消息“执行/ en / mynode的子请求时出错”。
我想以一般方式实现它,例如在基页的OnPreInit()方法中。
你还有其他选择吗?
P.S。当您使用Server.Transfer时,“转移到的页面应该是另一个.aspx页面。例如,转移到.asp或.asmx页面无效”。见source。
答案 0 :(得分:2)
我想你可以这样写:
protected void Page_Load(object sender, EventArgs e) {
Response.Clear();
Response.Write(@"<html>");
Response.Write(@"<body>");
Response.Write(@"<form id=""form"" action=""/eng/mynode/"" method=""post"" enctype=""application/x-www-form-urlencoded"">");
for(int i = 0; i < Request.Form.Count; i++) {
var key = Request.Form.GetKey(i);
var values = Request.Form.GetValues(i);
foreach(var value in values) {
Response.Write(string.Format(@"<input type=""hidden"" name=""{0}"" value=""{1}"" />", key, Server.HtmlEncode(value)));
}
}
Response.Write(@"</form>");
Response.Write(@"<script>document.getElementById(""form"").submit();</script>");
Response.Write(@"</body>");
Response.Write(@"</html>");
}