现在网上的C#后台POST都是仅仅将数据发送到指定的链接,但是不能打开页面。
今天楼主共享的方法 是以将form标签在C#后台进行拼接的方式,在拼接JavaScript进行的POST请求数据并且打开页面
[C#] 纯文本查看 复制代码
StringBuilder sb = new StringBuilder();
sb.Append("<form id=\"formData\">");
sb.Append("<input type=\"hidden\" name=\"interfaceName\" value=\"" + interfaceName + "\">");
sb.Append("<input type=\"hidden\" name=\"interfaceVersion\" value=\"" + interfaceVersion + "\">");
sb.Append("<input type=\"hidden\" name=\"tranData\" value=\"" + tranData + "\">");
sb.Append("<input type=\"hidden\" name=\"merSignMsg\" value=\"" + merSignMsg + "\">");
sb.Append("<input type=\"hidden\" name=\"merCert\" value=\"" + merCert + "\">");
sb.Append("</form>");
sb.Append("<script language= 'javascript'>");
sb.Append("document.getElementById('formData').method = 'post';");
sb.Append("document.getElementById('formData').action = '" + url + "';");
sb.Append("document.getElementById('formData').submit();");
sb.Append("</script>");
response.Write(sb.ToString());
这个方法很简单,就是用StringBuilder进行的拼接, 拼接成前台代码,并且使用JavaScript的方式跳转。
这里要注意两个个地方:
1.<input >标签 是你需要的参数, 这个大家应该都能看懂,有几个参数要传就写几个input,并且把Name改掉
2. 如果此代码写在业务层的话 , 就要传个参数HttpResponse response, 因为类中是不能写response.Write的。
HttpResponse response是你在表示层触发该方法的时候,将 this.response作为参数值传来。
|