zoukankan      html  css  js  c++  java
  • 解决使用AJax往DropDownList中动态添加数据时发生,回发或回调参数无效 的问题

    花了4个小时终于解决了。

    1.把<asp:DropDownList />这种服务器控件,改为:<select id="xxx" runat="server"></select>这种html的服务器

    2.由于加了runat=server所以操作上和一般的DropDownList一样,也可以进行bind

    3.在提交后取值的时候,这么写:

      ClassID = Request[xxx.UniqueID];

    4.如果是在用户控件中,则这么写:

            htmlDown = (System.Web.UI.HtmlControls.HtmlSelect)this.UserControlBlogClass1.FindControl("xxx");
            ClassID 
    = Request[htmlDown.UniqueID];

    原因分析:

    由于动态往DropDownList中添加了新项,导致DropDownList中的项目与隐藏域中记录的项目不符,所以就出现了“回发或回调参数无效”问题。

    网上也有说通过 protected override void Render(System.Web.UI.HtmlTextWriter writer)事件,ClientScript.RegisterForEventValidation方法向隐藏域中注册项。我试了好多次,也没有成功。

  • 相关阅读:
    11.3 校内模拟赛
    11.2 模拟赛题解报告
    11.1 校内模拟赛题解报告
    CF710E Generate a String
    CF165E Compatible Numbers
    CF1092F Tree with Maximum Cost
    2021,10,29 模拟赛题解报告
    LCT学习笔记
    FFT 快速傅里叶变换学习笔记
    拉格朗日插值学习笔记
  • 原文地址:https://www.cnblogs.com/yeagen/p/1354542.html
Copyright © 2011-2022 走看看