当我尝试使用FireFox4登录时,我收到了错误消息(其他浏览器没有错误):
检查表单MAC的状态是否失败。如果应用程序是Web场或群集,请确保配置指向相同的验证密钥validationKey和验证算法。无法在群集中使用AutoGenerate。
[ViewStateException:
Client IP: ::1
Port:
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0
ViewState: X+K7IAAB3XrqQMf0Ym7ZlHeMzvcISEek8a8NX07/uIQ1jEdwJp+/fisjPu64BgVKohucBKZxiX6vdxG+GNAS4qGMJbyCAfB6hwEKvpR9Df9o9gBj5MJTF2AHA6YO87XVvqbC3TNlTBSQ1OLakVvy7Q==
Referer: http://localhost:1062/
Path: /login]
登录页面很简单:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" Inherits="ModelViewPage<Graphite.Web.Controllers.Login.LoginViewModel>" %>
<%@ Import Namespace="Graphite.Web.Controllers.Login" %>
<asp:Content ContentPlaceHolderID="main" runat="server" >
<%
using (Html.BeginForm("Authenticate","Login")) {%>
<div class="formInput">
<%= this.TextBox(x => x.Username).Label("Username: ")%>
</div>
<div class="formInput">
<%= this.Password(x => x.Password).Label("Password: ")%>
</div>
<%=Html.AntiForgeryToken()%>
<%=this.SubmitButton("Login")%>
<%
}%>
</asp:Content>
我试图禁用像无脚本这样的愤怒添加,但它对我没有帮助。
答案 0 :(得分:2)
检查页面在登录按钮上发布的URL(您可以使用firebug)。我怀疑它是回发到aspx页面 - 而不是发布到将被路由到正确控制器的url。
另外,我建议你在MVC的ASP.NET页面中禁用视图状态,因为你只使用它们来渲染输出而不是真正使用它的控件和放大器。背后模型。