毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

Dropdownlist的OnSelectedIndexChanged无法触发

更新时间:2013-6-23:  来源:毕业论文

Dropdownlist的OnSelectedIndexChanged死活不触发

关于这个问题我网上翻了很多帖子,常见的问题我都检查了,autopostback设置为true了,page_load里面的数据绑定也写在if(!ispostback)里了。打断点跟踪第一次绑定数据正常,后面更改dropdownlist的选择时也正常触发回发,但是判断if(!ispostback) 不成立后,就不知道执行到哪里去了。反正页面表现是不管选择哪一个,dropdownlist的内容都是回到第一个,感觉是全部重新绑定了。实在是没辙了,请各位指教,代码片段如下
设备布局号要根据设备类型重新绑定数据
前台:

C# code?<div class="rowElem">                      <asp:UpdatePanel ID="UpdatePanel1" runat="server">                          <ContentTemplate>                                   <label>                       设备类型:</label>                                <asp:DropDownList id="equipmenttype" AutoPostBack="True" OnSelectedIndexChanged="Selection_Change" runat="server" enableviewstate="true">         </asp:DropDownList>                                   </ContentTemplate>                      </asp:UpdatePanel>                                 </div>                                   <div class="rowElem">                    <asp:UpdatePanel ID="UpdatePanel2" runat="server">                          <ContentTemplate>                   <label>                       设备布局号:</label>                                <asp:DropDownList id="equipment"  runat="server">         </asp:DropDownList>                         </ContentTemplate>                      </asp:UpdatePanel>                 </div>

后台:

C# code?public partial class _Default : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {                  if (!IsPostBack)//判断是否是第一次请求页面         {             BindDateequipmenttype();             BindDateequipment();                     } }   protected void Selection_Change(Object sender, EventArgs e)     {                   BindDateequipment2();       }     void BindDateequipment2()     {            }

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
                       <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="equipmenttype" EventName="SelectedIndexChanged" />
                </Triggers>
  <ContentTemplate> 
                <label> 
                    设备布局号:</label>
                               <asp:DropDownList id="equipment"  runat="server">
        </asp:DropDownList>
                        </ContentTemplate>
                     </asp:UpdatePanel>    

JQuery会把代码appendTo到body,而不在form里,所以按钮事件无法触发。

解决方法:在点击按钮打开Dialog时,将div append到form里,使按钮生效。

将弹出div append到属于form里的div,那么服务器端控件就可以正常执行 。

$("body>div[role=dialog]").appendTo('form:first');

 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。