马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#后台代码POST并跳转(可跳转到请求页面)

[复制链接]
查看10191 | 回复0 | 2014-7-2 09:06:51 | 显示全部楼层 |阅读模式
现在网上的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作为参数值传来。



         

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则