2013-05-08 5 views
3

Моих выпадающий список сбрасывает по умолчанию при попытке выбрать элемент, и он также не вызывает код с позади метода, когда я положил разрыв строки и попытаться отладить:падение Списка вниз сбрасывает

Вот разметки ,

<script type="text/javascript"> 
    function bringPOPup() 
    {  
     $.blockUI({message: $('#anotherUP'), css: { width: '600px' } }); 
    } 
</script> 



<div id="anotherUP" style="display: none; cursor: default"> 
    <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
     <ContentTemplate> 
       <asp:DropDownList ID="drop1" runat="server" EnableViewState="true" AutoPostBack="true" OnSelectedIndexChanged="Drop1_SelectedIndexChanged"/> 
     </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostbackTrigger ControlID="drop1" EventName="SelectedIndexChanged" /> 
    </Triggers> 
    </asp:UpdatePanel> 
</div> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
    <ContentTemplate> 
     <input type="button" id="Button3" value="Click me to Bring Pop Up" onclick="bringPOPup()" /> 
     <br /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Вот код позади,

public partial class myUserControl : UserControl 
{ 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       BindDropDownList(); 
      } 
     } 

     protected void BindDropDownList() 
     { 
      using (SqlDataSource ds = new SqlDataSource(ConnectionString(), SelectCommand())) 
      { 
       System.Data.DataView dv = (System.Data.DataView)ds.Select(DataSourceSelectArguments.Empty); 
       if (dv.Count > 0) 
       { 
        drop1.DataSource = ds; 
        drop1.DataTextField = "UserName"; 
        drop1.DataBind(); 
        drop1.Items.Insert(0, "Please select a Username "); 
       } 
      } 
      UpdatePanel2.Update(); 
     } 

     protected void Drop1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      //while debugging never hits break point. 
     } 
} 

Update

Если я прокомментирую UpdatePanel2, тогда DDL не сбрасывает, но по-прежнему не вызывает код запуска.

+0

Существует никаких вопросов, только описание того, что делает ваш код. –

+0

DDL сбрасывается, когда я выбираю элемент, если он не должен, ни он не попадает в код позади метода – Mathematics

+1

Я создал usercontrol, используя ваш код, и он работал нормально. Я подозреваю, что на родительской странице есть конфликт обратной связи. – Ian

ответ

1

Это распространенная проблема с обработкой событий sharepoint. Пожалуйста, попробуйте ввести код в загрузке страницы.

protected void Page_Load(object sender, EventArgs e) 
    { 
     Drop1.SelectedIndexChanged += new EventHandler(Drop1_SelectedIndexChanged); 

     if (!IsPostBack) 
     { 
      BindDropDownList(); 
     } 
    } 
Смежные вопросы