2016-11-24 59 views
0

誰能告訴我爲什麼這不起作用?我已經到處搜索了。
通常當我這樣做,它沒有觸發器的作品。Asp.Net Dropdownlist SelectedIndexChanged更新面板中,即使使用<Triggers>

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
     <div style="width:15%;float:left;"> 

      <asp:Image ID="Image1" runat="server" ImageUrl="~/Img/Untitled1.png" CssClass="imagez" /> 

     </div> 
       </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" /> 
      </Triggers> 
     </asp:UpdatePanel> 
     <div style="width:85%;float:left;height:100%;padding-top:2%;"> 

      <asp:Label ID="Label2" runat="server" Text="CPU" CssClass="auto-style7" Font-Names="sans-serif"></asp:Label> 
      <br /> 

      <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" CssClass="bla" DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="Name" Font-Names="sans-serif" EnableViewState="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
       <asp:ListItem Selected="True">Pick a CPU</asp:ListItem> 
      </asp:DropDownList> 

這是SelectedIndexChanged代碼:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    Label2.Text = "please"; 
} 
+0

你忘了提到什麼是不工作 – Andrei

+0

selectedindexchanged事件不會觸發! – Nicholas

+0

只有一個'ListItem'。沒有什麼可以改變的。 – VDWWD

回答

0

你應該附上更新面板內容模板內Label2控制如下否則,就不會得到更新與新的價值。

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
     <div style="width:15%;float:left;"> 

      <asp:Image ID="Image1" runat="server" ImageUrl="~/Img/Untitled1.png" CssClass="imagez" /> 

<asp:Label ID="Label2" runat="server" Text="CPU" CssClass="auto-style7" Font-Names="sans-serif"></asp:Label> 
      <br /> 

     </div> 
       </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" /> 
      </Triggers> 
     </asp:UpdatePanel> 
     <div style="width:85%;float:left;height:100%;padding-top:2%;"> 



      <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" CssClass="bla" DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="Name" Font-Names="sans-serif" EnableViewState="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
       <asp:ListItem Selected="True">Pick a CPU</asp:ListItem> 
      </asp:DropDownList> 

:1.如果它仍然沒有工作,與上面的代碼一起,嘗試從觸發如下除去EventName

<Triggers> 
       <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" /> 
      </Triggers> 
  • 如果仍然沒有工作,從下拉列表中刪除CssClass="bla"和嘗試,如果它的變化在客戶端下拉的任何行爲
  • 0

    你要到c掛起超出updatepanel的標籤。它不是邏輯。 如果將Label2的到

    <asp:UpdatePanel><ContentTemplateit> 
    

    它會奏效。 (我測試過)

    相關問題