【发布时间】:2009-09-17 13:30:00
【问题描述】:
我试图在 C# 中设置登录功能,我在 default.aspx 上有一个表单,该表单发布到运行逻辑的 Login.aspx。
但是当表单发布到 Login.aspx 时,我得到一个 MAC 视图状态验证错误。这是什么,为什么?
当我直接从浏览器调用 Login.aspx 时,我没有收到任何错误,只有当表单将自己发布到它时。
Default.aspx 表单代码:
<form id="form1" runat="server" method="post" action="Login.aspx">
<div>
<input type="text" name="lgn" id="lgn" runat="server" /> Login<br />
<input type="password" name="pwd" id="pwd" runat="server" /> Password<br /><br />
<input type="submit" name="submit" id="submit" value="Login" runat="server" />
</div>
</form>
将表单发布到同一项目中的另一个页面是否有任何限制,或者我是否错过了任何设置?
提前致谢
我通过使用 asp:button 上的 PostBackURL 属性而不是 form tagg 上的 action 属性解决了这个问题,如下所示:
<asp:Button id="btnSubmit" runat="server" text="login" PostBackUrl="~/Login.aspx" />
【问题讨论】:
-
你能把两个“HttpException (0x80004005)”后面的消息翻译成英文吗?
-
验证 MAC 视图状态失败。如果应用程序在 Web 组或集群中,请确保配置指定相同的 validationKey 和验证算法。自动生成不能在集群中使用。