ASP.NET Dropdownlist on select EnableEventValidation错误
Framework 4.5.2我使用webforms。此下拉列表位于我的母版页中。如果我选择任何选项,它不会触发事件,并且会出错: 我的主页:ASP.NET Dropdownlist on select EnableEventValidation错误,asp.net,dropdown,Asp.net,Dropdown,Framework 4.5.2我使用webforms。此下拉列表位于我的母版页中。如果我选择任何选项,它不会触发事件,并且会出错: 我的主页: <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Home.master.cs" Inherits="LandOfSport.UI.apps.mp.Home" %> 这里有什么问题?我不想更改EnableEventValidation。为了记录在案,我正在扩展我在评论中
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Home.master.cs" Inherits="LandOfSport.UI.apps.mp.Home" %>
这里有什么问题?我不想更改EnableEventValidation。为了记录在案,我正在扩展我在评论中提到的内容。您得到的错误是ASP.Net无法验证事件。这是一种安全功能,可确保回发操作仅来自服务器上允许和创建的事件。此限制旨在防止您的网站被伪造的回发邮件攻击
<form method="post" action="./WebForm1.aspx" id="form1">
<!-- Html dropdown and other tags here... -->
<input type="hidden"
name="__EVENTVALIDATION"
id="__EVENTVALIDATION"
value="Z8V8I/94JbyXAGZJ9RlOKv56ns..." />
</form>
使用母版页时,有时生成的Html页面可能会有多个
表单
标记(例如,母版和WebForm都定义了一个表单,因此它们最终嵌套在生成的Html页面中)。如果提交的代码没有用于事件验证的隐藏字段,并且此功能已启用,则会出现验证错误。您发布的代码工作正常,不会重现您报告的问题。您在ViewState验证中遇到Mac错误。在浏览器中签出html。在呈现的html页面中是否只有一个表单标记?你能看到隐藏的输入字段“\uu EVENTVALIDATION”吗?是的,有两个,一个在另一个表单中,但只有一个是runat=“server”这是问题吗?如果提交的表单没有隐藏的输入,那么是的,是的。你是对的,我的朋友,我删除了它,它现在可以工作了:))谢谢。。
<style>
.ddlLang {
background-color: black;
border-color: black;
}
.ddlLang option {
background-color: white;
}
</style>
protected void ddlLang_OnSelectedIndexChanged(object sender, EventArgs e)
{
Session["CurrentLang"] = ddlLang.SelectedValue;
}
<form method="post" action="./WebForm1.aspx" id="form1">
<!-- Html dropdown and other tags here... -->
<input type="hidden"
name="__EVENTVALIDATION"
id="__EVENTVALIDATION"
value="Z8V8I/94JbyXAGZJ9RlOKv56ns..." />
</form>