Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET Dropdownlist on select EnableEventValidation错误_Asp.net_Dropdown - Fatal编程技术网

ASP.NET Dropdownlist on select EnableEventValidation错误

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。为了记录在案,我正在扩展我在评论中

Framework 4.5.2我使用webforms。此下拉列表位于我的母版页中。如果我选择任何选项,它不会触发事件,并且会出错:

我的主页:

<%@ 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>