利用注册代码块,动态将页面自动提交,适用于POST方式传递变量
Page.RegisterStartupScript("submitForm",@"<script language='javascript'>document.all('Form1').action='" + knsLogonedUrl + "';document.all('Form1').submit();</script>");
this.Label1.Text = "<script>submitForm();</script>";
提交过程中有可能遇到以下错误:
异常详细信息: System.Web.HttpException: 无法验证数据。
解决方法:在Page指令中设置禁止MAC(身份验证)enableviewstatemac="false"
错误原因:视图状态消息身份验证代码 (MAC) 是一种身份验证标记(又称校验值),当对消息同时应用身份验证方案和密钥时就会创建该代码。MAC 通过使用相同的密钥进行计算和验证。因此,MAC 仅能由预定的接收方验证。可以使用多种加密技术和算法来创建 MAC,如安全散列算法 (SHA)、消息摘要 5 (MD5) 算法或数据加密标准 (DES) 算法。
视图状态 MAC 功能用以防止客户发送含有恶意视图状态数据的请求。默认情况下,视图状态 MAC 功能通过使用 Machine.config 文件中的 enableViewStateMac="true" 标志启用。
要确定所遇到的问题是否与 MAC 有关,最简单的方式是将该功能关闭。为此,请将 enable ViewStateMac 标志设置为 False。如果不再遇到视图状态错误,则该问题与 MAC 有关。