首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dropdownlist不触发SelectedIndexChanged

Dropdownlist不触发SelectedIndexChanged
EN

Stack Overflow用户
提问于 2010-11-09 22:36:53
回答 3查看 20.3K关注 0票数 4

我有一个下拉列表(dr1),它应该触发dr2的更新,而不会影响dr3。问题是,dr1会触发更新,但不会进入dr1_SelectedIndexChanged。我之所以知道这一点,是因为标签不会改变,暂停也不会发生

下面是我的HTML代码:

代码语言:javascript
复制
<form runat="server">
<asp:ScriptManager ID="sm" runat="server" />
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="5">
    <ProgressTemplate>
        <span style="color: Red">Updating.....</span>
    </ProgressTemplate>
</asp:UpdateProgress>
<asp:DropDownList ID="dr1" AutoPostBack="true" OnSelectedIndexChanged="dr1_SelectedIndexChanged" runat="server" />
<asp:UpdatePanel ID="updpnl" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="dr2" runat="server" />
        <asp:Label ID="lbl" runat="server" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="dr1" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>
<asp:DropDownList ID="dr3" runat="server" />
</form>

和我的代码背后:

代码语言:javascript
复制
void Page_Load()
        {
            if (!IsPostBack)
            {
                java.Text = "<script language=\"JavaScript1.2\" type=\"text/javascript\">var sess = \"" + Session["username"] + "\";var user = \"" + Request.ServerVariables["LOGON_USER"].Replace("\\", "\\\\") + "\";</script>";
                dr1.Items.Clear();
                dr2.Items.Clear();
                dr3.Items.Clear();
                dr1.Items.Add("");
                dr1.Items.Add("A");
                dr1.Items.Add("B");
                dr1.Items.Add("C");
                dr1.Items.Add("D");
                dr3.Items.Add("");
                dr3.Items.Add("Allo");
                dr3.Items.Add("Bonjour");
                dr3.Items.Add("Ola");
            }
        }

        protected void dr1_SelectedIndexChanged(Object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(5000);
            lbl.Text = DateTime.Now.ToString();
            dr2.Items.Clear();
            dr2.Items.Add("");
            for (int i = 1; i <= 4; i++)
                dr2.Items.Add(dr1.SelectedValue + i);
        }

我希望有人能帮助我

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-10 00:05:11

它终于成功了。在剥离代码并一点一点地重新添加所有内容后,它起作用了。

我还删除了dll并重新构建了它。这似乎有帮助。

票数 -1
EN

Stack Overflow用户

发布于 2010-11-09 22:46:24

尝试修改此行

<asp:AsyncPostBackTrigger ControlID="dr1" EventName="SelectedIndexChanged" />

并删除EventName="SelectedIndexChanged"属性

票数 2
EN

Stack Overflow用户

发布于 2010-11-10 03:35:54

尝试将所有内容包装在updatepanel中,并设置Updatepanel的UpdateMode="Always"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4134851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档