当前位置:首页 > 操作系统 > MacOs

c# – 验证视图状态MAC失败. – 不在Web场上,单击按钮时会发生

我已经看到这个问题了很多,但我见过的所有问题或答案似乎都没有解决我的问题.正如标题所示,我得到了始终有趣的Viewstate验证错误.

我公司的网站托管在亚马逊EC2上,所以据我所知,这不是一个网络农场,因为这是问题出现的唯一页面.

我们有一个简单的评论页面,它很棒,页面上的所有元素都很棒,包括留下新的评论.但是,“标记查看”按钮会在单击时生成视图状态错误.

单击按钮时运行的实际代码如下:

<code>protected void btnFlagReview_Click(object sender, EventArgs e)
{
    try
    {
        LinkButton btn = (LinkButton)sender;
        int id = Int32.Parse(btn.Attributes["rid"]);
        testimonials.updateModerated(false, id);

        MailMessage mail = new MailMessage();
        mail.To.Add("oursupport@emailaddress.com");
        mail.From = new MailAddress("ourwebmaster@emailaddress.com");
        mail.Subject = "A review has been flagged for moderation";
        string Body =
            "A user review has been flagged for moderation. Please Approve/Delete this review in the Admin Panel. ";
        mail.Body = Body;
        SmtpClient smtp = new SmtpClient();
        try
        {
            smtp.Send(mail);
        }
        catch (SmtpException ex)
        {
            if (ex.StatusCode == SmtpStatusCode.InsufficientStorage)
                smtp.Send(mail);//Send again to ensure this email gets sent 
        }

        string script = "<SCRIPT type='text/javascript'>alert('This review has been flagged for moderation.')</SCRIPT>";
        Type t = typeof(String);
        ClientScript.RegisterStartupScript(t, "Script", script);
    }
    catch(Exception ee) {
        businessName.Text = ee.ToString();
    }
}
</code>

实际按钮的代码如下:

<code><asp:LinkButton ID="btnFlagReview" OnClick="btnFlagReview_Click" rid='<%# Eval("testimonialID") %>' runat="server">flag</asp:LinkButton>
</code>

我甚至尝试过在网络上的其他问题中找到的解决方案,例如更改页面的validateRequest,enableEventValidation和viewStateEncryptionMode,看看它们是否可行.

我很茫然,因为与我们做的很多其他事情相比,国旗审查行动是如此简单.任何帮助将不胜感激.

解决方法:

我曾经遇到过类似的问题,最后因为我的表单标签上有一个action属性.检查是否有一个,如果有,请将其删除.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐