2012-05-18 48 views
2

我試圖使用單選按鈕列表來更改更新面板中的某些標籤文本,但無論出於何種原因,SelectedIndexChanged事件似乎只是第一次觸發,然後從不再次。我谷歌搜索和谷歌搜索,但我發現嘗試一切都沒有運氣修復這個問題。更新面板只更新一次單選按鈕列表異步回傳

Autopostback設置爲true,我試過了標準的.net ScriptManager和ToolkitScriptManager,兩者都是相同的,我試過在觸發器中指定事件,並讓它未指定(這又回到了默認值對於那個控件類型)...我也嘗試綁定rbl,如果不是me.ispostback,那麼...頁面加載事件的結構。

我在事件中使用的VB只是一個簡單的如果選擇了這個索引,label.text =「whatever」else「yadda」......根本沒有任何幻想。如果「更新」面板不在場,這一切都會很好,除非我希望從完整的回發中擺脫屏幕閃光。我堅持下面我的asp.net的土豆& ...幫助!

的Type1 類型2
<asp:Panel ID="DesignInfoHeaderPanel" runat="server" CssClass="headerpanel"> 

     <asp:Label ID="lblDesignInfo" runat="server" font-bold="true" 
      style="z-index: 1; left: 5px; top: 5px; position: absolute" Text="Design Information"></asp:Label> 

    </asp:Panel> 

    <div class="cpdiv"> 
    <asp:Panel ID="DesignInfoPanel" runat="server" CssClass="collapsepanel"> 

     <asp:UpdatePanel runat="server" ID="DIUpdatePanel" UpdateMode="Conditional"> 

      <ContentTemplate> 

       <asp:Label ID="Label1" runat="server" font-bold="true" 
        style="z-index: 1; left: 5px; top: 7px; width: 95px; position: absolute; text-align: right" 
        Text="Account Name"></asp:Label> 

       <asp:TextBox ID="TextBox1" runat="server" Font-Names="Verdana" Font-Size="8pt" 
        style="z-index: 1; left: 110px; top: 4px; width: 144px; position: absolute"></asp:TextBox> 

       <asp:Label ID="Label2" runat="server" font-bold="true" 
        style="z-index: 1; left: 270px; top: 7px; width: 140px; position: absolute" 
        Text="Est. Volume (# units)"></asp:Label> 

       <asp:TextBox ID="TextBox2" runat="server" Font-Names="Verdana" Font-Size="8pt" 
        style="z-index: 1; left: 415px; top: 4px; width: 60px; position: absolute"></asp:TextBox> 

       <asp:Label ID="Label3" runat="server" font-bold="true" 
        style="z-index: 1; left: 7px; top: 35px; width: 95px; position: absolute; text-align: right" 
        Text="Sales Manager"></asp:Label> 

       <asp:DropDownList ID="DropDownList1" runat="server" Font-Names="Verdana" Font-Size="8pt" 
        style="z-index: 1; left: 110px; top: 32px; width: 150px; position: absolute"> 
       </asp:DropDownList> 

       <asp:Label ID="Label4" runat="server" font-bold="true" 
        style="z-index: 1; left: 485px; top: 7px; width: 140px; position: absolute" 
        Text="Personalization Type"></asp:Label> 

       <asp:DropDownList ID="DropDownList2" runat="server" Font-Names="Verdana" Font-Size="8pt" 
        style="z-index: 1; left: 630px; top: 4px; width: 150px; position: absolute"> 
       </asp:DropDownList> 

       <asp:CheckBox ID="CheckBox1" runat="server" font-bold="true" 
        style="z-index: 1; left: 298px; top: 32px; position: absolute" Text="Rental" 
        TextAlign="Left" /> 

       <asp:CheckBox ID="CheckBox2" runat="server" font-bold="true" 
        style="z-index: 1; left: 397px; top: 32px; position: absolute" Text="Dir Sales" 
        TextAlign="Left" /> 

       <asp:RadioButtonList ID="RadioButtonList1" runat="server" BorderColor="#640000" 
        BorderStyle="Solid" BorderWidth="2px" Font-Bold="true" 
        RepeatDirection="Horizontal" 
        style="z-index: 1; left: 545px; top: 28px; position: absolute" 
        TextAlign="Left"> 
        <asp:ListItem Value="0">Type1</asp:ListItem> 
        <asp:ListItem Value="1">Type2</asp:ListItem> 
       </asp:RadioButtonList> 

      </ContentTemplate> 

      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="rblEmblemType" /> 
      </Triggers> 

      </asp:UpdatePanel> 
+0

剛剛意識到我的文章中缺少一些代碼...用作觸發器的單選按鈕列表位於不在此或任何更新面板中的面板中,而只是一個常規的asp:面板,所以這就是爲什麼您沒有看到它在我發佈的代碼中定義... – thisguy

+0

因此,即使RadioButtonList沒有AutoPostBack =「True」,它仍然執行回發...但只是一次? – danyim

+0

跳過AsyncPostBackTrigger,RadioButtonList應回發並且條件模式是正確的選擇。 – Alexander

回答

0

這可能是因爲UpdatePanel的被更新。由於您沒有發佈任何有關您的代碼腳本的信息,我假設您沒有在事件方法中使用以下代碼。

UpdatePanel1.Update() 

這(下一個)發生的可能性較小。

如果您使用AutoPostBack,則不需要使用asyncPostBackTrigger!!當發生圖像按鈕/圖像/網格等事件時,您需要使用觸發器或此錯誤發生

無法解析從服務器收到的消息。

0

嘗試將ClientIDMode="AutoID"添加到您的RadioButtonList。