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

SelectedIndexChanged
EN

Stack Overflow用户
提问于 2011-11-25 01:20:00
回答 3查看 430关注 0票数 0

问题:

SelectedIndexchanged不会触发。我尝试使用断点进行调查,但它甚至没有到达事件。我通过双击组合框完成了该事件。但这并没有帮助。敬请指教。

代码如下:

代码语言:javascript
复制
    protected void nav_dd_parent_edit_SelectedIndexChanged(object sender, EventArgs e)
            {

            }   
    <td width="55%" class="style1" height="20px">
                                    <asp:DropDownList ID="nav_dd_parent_edit" runat="server" 
                                        DataSourceID="sp_GetNavParents_Edit" DataTextField="Name" 
                                        DataValueField="NavItemId" Height="24px" ReadOnly="FALSE" Width="375px" 
                                        onselectedindexchanged="nav_dd_parent_edit_SelectedIndexChanged">
                                    </asp:DropDownList>
                                </td>

protected void Page_Load(object sender, EventArgs e)
        {

            if (!Page.IsPostBack)
            {
                //Page.MaintainScrollPositionOnPostBack = true;
                //SiteMaster.g_solution = "Couche-Tard - QV";
                //SiteMaster.g_solution_id = 27;
                nav_dd_parent.DataBind();
                if (SiteMaster.g_solution != null && SiteMaster.g_solution != "")
                {
                    nav_literal.Text = "Solution: " + SiteMaster.g_solution;
                    nav_hidden_SoltnId.Value = SiteMaster.g_solution_id.ToString();
                }
                else
                {
                    nav_literal.Text = "Please select a solution first from the 'Solution Template' Tab.";
                    panel_top.Visible = false;
                }
            }
EN

回答 3

Stack Overflow用户

发布于 2011-11-25 01:22:19

你看不到你的断点被击中,因为当选择改变时,下拉列表没有回发。

AutoPostBack设置为true,即可完成所有设置。

票数 6
EN

Stack Overflow用户

发布于 2011-11-25 05:41:01

我注意到您的DropDownList Id是"nav_dd_parent_edit",但是您的Page_Load正在调用"nav_dd_parent“上的Databind方法-这会是问题的一部分吗?

无论如何,我做了一个简化版的DropDownList,它工作得很好--也许它会有所帮助。

代码语言:javascript
复制
<table>
    <tr>
        <td width="55%" class="style1" height="20px">
            <asp:DropDownList  
                ID="nav_dd_parent" 
                runat="server" 
                DataTextField="Name" 
                DataValueField="NavItemId" 
                Height="24px" 
                ReadOnly="FALSE" 
                Width="375px" 
                onselectedindexchanged="nav_dd_parent_edit_SelectedIndexChanged" 
                AutoPostBack="true">
             </asp:DropDownList>
         </td>
    </tr>
</table>


protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {                
        nav_dd_parent.Items.Add(new ListItem("Item 1", "1"));
        nav_dd_parent.Items.Add(new ListItem("Item 2", "2"));
        nav_dd_parent.Items.Add(new ListItem("Item 3", "3"));
    }
}

protected void nav_dd_parent_edit_SelectedIndexChanged(object sender, EventArgs e)
{
    int codeGetsHere = 0;
}   
票数 1
EN

Stack Overflow用户

发布于 2011-11-25 14:36:58

以下是一些需要牢记的注意事项:

a.将'AutoPostBack‘设置为true:

代码语言:javascript
复制
    <asp:DropDownList ID="nav_dd_parent_edit" runat="server"  AutoPostBack="true"
        DataSourceID="sp_GetNavParents_Edit" DataTextField="Name" 
        DataValueField="NavItemId"
        onselectedindexchanged="nav_dd_parent_edit_SelectedIndexChanged">
    </asp:DropDownList>

b.总是绑定在非回发时间:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        nav_dd_parent_edit.DataSource = yourDataSourceName;
        nav_dd_parent_edit.DataBind();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8260664

复制
相关文章

相似问题

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