积极答复者
多个updatepanel的问题,跪求高手解决

问题
-
我现在想实现在dlistModelClass(dropdownlist)的selectindex改变的情况下更新dlistModel(我现在是用updatepanel1包含的),而在选择dlistModel的某一项时显示或隐藏另外一块区域(我现在是用一个updatepanel2包含的)
我目前的代码如下
页面代码如下 :
<asp:Literal ID="Literal1" runat="server" Text="流程类型"></asp:Literal> <asp:DropDownList ID="dlistModelClass" runat="server" OnLoad="dlistModelClass_Load" AutoPostBack="True" OnSelectedIndexChanged="dlistModelClass_SelectedIndexChanged" Width="155px" AppendDataBoundItems="True" OnDataBound="dlistModelClass_DataBound"> <asp:ListItem Value="0">全部</asp:ListItem> </asp:DropDownList> <asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline"> <ContentTemplate> <asp:Literal ID="Literal2" runat="server" Text="流程名称"></asp:Literal> <asp:DropDownList ID="dlistModel" runat="server" Width="250px" AutoPostBack="True" OnSelectedIndexChanged="dlistModel_SelectedIndexChanged"> </asp:DropDownList> </ContentTemplate> </asp:UpdatePanel> . . . <asp:UpdatePanel ID="UpdatePanel2" runat="server" RenderMode="Inline" UpdateMode="Conditional"> <ContentTemplate> <asp:Literal ID="literal100" runat="server" Text="来文单位" Visible="false"></asp:Literal> <asp:TextBox ID="txtFromdept" runat="server" Visible="false"></asp:TextBox> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="dlistModel" EventName="SelectedIndexChanged" /> </Triggers> </asp:UpdatePanel>
后台代码如下 :
protected void dlistModelClass_SelectedIndexChanged(object sender, EventArgs e) { dlistModel_Load(); //绑定dlistModel控件 } protected void dlistModel_Load() { 。。 。。 } protected void dlistModel_SelectedIndexChanged(object sender, EventArgs e) { if (dlistModel.SelectedItem.Text.Trim().Equals("收文流程")) { literal100.Visible = true; txtFromdept.Visible = true; } else { literal100.Visible = false; txtFromdept.Visible = false; } }
我的代码只能实现 更改dlistModelClass的时候更新updatepanel1,但改变dlistModel的时候不会更新updatepanel2,我调试的时候发现dlistModel的SelectedIndexChanged事件根本不会发生,请问是什么原因,请各位高手帮帮我,该如何才能实现我想要的功能
又有一个问题,因为上面的代码实现不了我的功能,所以我想到给dlistModel加上个客户端的脚本事件(onchange="showandhide(this);"),结果脚本事件也是不会执行,请问是什么原因?
继续补充:现在又发现,虽然改变dlistModel不会直接更新updatepanel2,但是在改变dlistModel后再单击页面中的另一个按钮(不在上面的代码中,也不在updatepanel中)导到页面回发的时候却会更新updatepanel2,请问这是什么原因?
最重要的是,我该如何才能实现我想要的功能(不刷页面的情况下)
- 已编辑 遗失的记忆 2010年4月22日 4:29
答案
-
检查下你的
onchange="showandhide(this);"
可能你的这个JS函数,使用RETRUN返回的问题,你先把onchange客户端事件去掉试试
努力+方法=成功- 已标记为答案 KeFang Chen 2010年4月23日 3:24
全部回复
-
检查下你的
onchange="showandhide(this);"
可能你的这个JS函数,使用RETRUN返回的问题,你先把onchange客户端事件去掉试试
努力+方法=成功- 已标记为答案 KeFang Chen 2010年4月23日 3:24