【问题标题】:ASP.NET Dropdownlist on select EnableEventValidation error选择 EnableEventValidation 错误时的 ASP.NET Dropdownlist
【发布时间】:2018-05-31 01:18:54
【问题描述】:

Framework 4.5.2 我使用 webforms。此下拉菜单在我的母版页中。如果我选​​择任何选项,它不会触发事件并出现错误:

我的主页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Home.master.cs"  Inherits="LandOfSport.UI.apps.mp.Home" %>

回发或回调参数无效。在页面配置或 事件验证中启用使用。此功能是出于安全原因,最初处理来自服务器控件的回发或回调事件会验证它们的自变量。如果数据有效且符合预期,则保存数据以验证回发或回调 ClientScriptManager。使用 registerforeventvalidation 方法。

这是我的下拉列表:

   <asp:DropDownList runat="server" AutoPostBack="True" ID="ddlLang" 
                                 CssClass="ddlLang" OnSelectedIndexChanged="ddlLang_OnSelectedIndexChanged"  >
                                 <asp:ListItem Text="TR" Value="tr-TR"></asp:ListItem>
                                 <asp:ListItem Text="US" Value="en-US"></asp:ListItem>
                             </asp:DropDownList>

这是我的 CSS:

 <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;
    }

这里有什么问题我不想更改我的 EnableEventValidation。

【问题讨论】:

  • 您发布的代码运行良好,不会重现您报告的问题。您在 ViewState 验证中遇到 Mac 错误。在浏览器中查看 html。呈现的 html 页面中是否只有一个表单标签?你能看到隐藏的输入字段“__EVENTVALIDATION”吗?
  • 是的,有两个
    ,一个在另一个表单中,但只有一个是 runat="server" 是这个问题吗?
  • 如果提交的那个没有隐藏输入,那么是的,它是。
  • 你说得对,我的朋友我删除了它,它现在可以工作了:))谢谢你..

标签: asp.net dropdown


【解决方案1】:

为了记录,我正在扩展我在 cmets 上提到的内容。您得到的错误是 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 页面可能会包含多个 form 标记(例如,Master 和 WebForm 都定义了一个表单,因此它们最终嵌套在生成的 html 页面中)。如果提交的没有用于事件验证的隐藏字段并且启用了此功能,则会出现验证错误。

【讨论】:

    猜你喜欢
    • 2011-07-13
    • 2011-03-17
    • 2014-03-17
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多