2016-10-02 183 views
1

我已經嘗試了幾乎所有可用的互聯網解決方案,但他們都沒有解決。請看下面的代碼,並讓我知道你是否有任何人可以幫助我解決問題。整個頁面刷新發生在每個單選按鈕列表上。更新面板或RadAjax管理器不工作中繼器

Telerik的:在master.master頁面定義RadScriptManager

用戶控件內Master.Master.Page如下

<style type="text/css"> 
     .rlbItem 
     { 
      float:left !important; 
     } 
     .RadListBox_Default .rlbGroup 
    {   
     border: none !important; 
    } 

    </style> 


<fieldset> 







     <asp:Panel runat="server" ID="uxMainPanel"> 

       <asp:Label runat="server" Text="" Visible="false" id="uxCategoryId"></asp:Label> 
      <asp:Label runat="server" Text="" Visible="false" id="uxProjectId"></asp:Label> 
      <asp:Label runat="server" Text="" Visible="false" id="uxTemplateId"></asp:Label> 

       <asp:Label runat="server" Text="" Visible="false" id="uxPublicationId"></asp:Label> 
       <asp:CheckBox ID="uxViewType" Visible="false" runat="server" /> 

      <table style="width:100%"><tr><td> 

    <asp:Repeater ID="uxQuestionsList" ClientIDMode="AutoID" runat="server"> 
     <HeaderTemplate></HeaderTemplate> 
     <ItemTemplate> 
      <table class="white-table"> 
       <tr> 
        <td style="text-align:right" class="tdLabel"> 
         <asp:Label ID="uxQuestionId" runat="server" Text='<%# Eval("ProposalScreeningCategoryQuestionId")%>' Visible="false" /> 
         <asp:Label ID="uxTemplateQuestionId" runat="server" Text='<%# Eval("ProposalScreeningTemplateCategoryQuestionId")%>' Visible="false" /> 
         <asp:Label ID="uxQuestionText" runat="server" Text='<%# Eval("ProposalScreeningCategoryQuestionName")%>' />: 
         <asp:Label ID="uxQuestionAnswerId" runat="server" Text="" Visible="false" /> 


         <asp:Label ID="uxCollaborativeInstituteId" runat="server" Text='<%# Bind("institute_id")%>' Visible="false" /> 

</td><td class="tdField"> 


    <asp:UpdatePanel runat="server" ID="up1s"> 

     <ContentTemplate> 

    <div id="dvi"> 
        <asp:RadioButtonList ClientIDMode="AutoID" RepeatDirection="Horizontal" AutoPostBack="true" OnSelectedIndexChanged="uxAnswerFlag_SelectedIndexChanged"  ID="uxAnswerFlag" runat="server"> 
        <asp:ListItem Text="Yes" Value="1"></asp:ListItem> 
        <asp:ListItem Text="No" Value="0"></asp:ListItem> 


       </asp:RadioButtonList> 




       <asp:Panel ID="uxAnswerFlagReasonCheckBoxPanel"  runat="server"> 
        <telerik:RadListBox RenderMode="Lightweight" DataTextField="ProposalScreeningCategoryQuestionReasonName" DataValueField="ProposalScreeningCategoryQuestionReasonId" ID="uxAnswerFlagReasonCheckBox" runat="server" CheckBoxes="true" width="100%" 
       /> 

       </asp:Panel> 

       <asp:Panel ID="uxAnswerFlagReasonRadioButtonListPanel" Visible="false" runat="server"> 

        <asp:RadioButtonList RepeatDirection="Horizontal"  DataTextField="ProposalScreeningCategoryQuestionReasonName" DataValueField="ProposalScreeningCategoryQuestionReasonId" ID="uxAnswerFlagReasonRadioButtonList" runat="server" /> 
        <br /><asp:Label ID="uxError" Visible="false" ForeColor="Red" Font-Bold="true" Text="Please choose an answer from above list" runat="server"></asp:Label> 
         </asp:Panel> 
<appcontrols:AppRequiredFieldValidator ID="AppRequiredFieldValidator1" ValidationGroup="save" runat="server" ControlToValidate="uxAnswerFlag" /> 


</div> </ContentTemplate> <Triggers><asp:AsyncPostBackTrigger ControlID="uxAnswerFlag" EventName="SelectedIndexChanged" /></Triggers></asp:UpdatePanel> </td> 
       </tr> 






       <tr><td style="text-align:right" class="tdLabel">Comments: <br /> <span class="gray">(Maximum 1500 characters)</span></td> 
        <td class="tdField" > 
         <Telerik:RadTextBox ID="uxAnswerText" runat="server" Width="98%" Rows="8" onkeyup="if (this.value.length > 1500) { alert('Character limit has been reached!'); this.value = this.value.substr(0,1500); }" TextMode="MultiLine" /> 
         <asp:Label ID="uxAnswerLabel" Visible="false" runat="server" Width="98%" /> 
         <br /> 

        </td> 
       </tr> 
       <asp:Panel ID="uxActionByPanel" runat="server" Visible="false"> 
       <tr><td style="text-align:right" class="tdLabel">Action By:</td><td class="tdField"><asp:Label ID="uxActionBy" Visible="false" runat="server" Width="98%" /></td></tr> 
       </asp:Panel> 
      </table> 
     </ItemTemplate> 
     <FooterTemplate> 
     </FooterTemplate> 
    </asp:Repeater> 

</td></tr><tr><td align="center"> 

<asp:Button Text="Save" id="uxSave" CommandName="CallFromNestedUserControl" ValidationGroup="save" CssClass="ButtonNormal" runat="server" /> 
    <asp:Button Text="Edit" id="uxEdit" CausesValidation="false" CssClass="ButtonNormal" runat="server" /> 
     </td></tr> 



      </table> 
    </asp:Panel> 
    <asp:Panel runat="server" ID="uxSecondPanel"> 
     <p><b>There are no any Questions to be answered for this section.</b></p> 
    </asp:Panel> 
    <asp:HiddenField ID="uxSingleOutcomeCategoryHiddenField" Value="0" runat="server" /> 
</fieldset> 

回答

0

給予刪除Triggers收集up1s的。更新面板位於數據綁定控件中,因此每個行的單選按鈕列表的最終ID都會更改,它永遠不會完全是uxAnswerFlag。

您也可以嘗試將ChildrenAsTriggers屬性設置爲true

一般來說,在數據綁定控件中使用MS AJAX有點難以實現這樣的粒度,所以您可以查看AJAX,從而啓用整個中繼器。

+0

感謝您的答覆..我已經嘗試了用updatepanel包裝中繼器,但它沒有解決問題。請您用代碼詳細說明您的解決方案。 – suhail