2017-03-29 25 views
0

我有問題試圖讓單選按鈕列表選擇索引更改爲觸發,儘管我沒有任何其他asp控件上的回發問題,單選按鈕列表正在給我麻煩。我會將我的asp代碼和c#代碼隱藏起來,以便你們中的一個人能夠辨別出什麼是錯誤的。儘管autopostback設置爲true,但RadioButtonList不回發

我有8個單選按鈕列表,都在它們自己的更新面板中設置爲始終更新,並且每個單選按鈕列表都將自動回覆按鈕列表設置爲true。

我有背後的代碼邏輯改變兩個ASP:標籤,一個基於radiobuttonlist選擇改變平均分數,一個分配風險水平取決於平均分數的值。

<table class="td-table-bordered" style="width: 90%"> 
        <tr> 
         <th> 
          <asp:Label ID="CategoryLabel" runat="server" Text="Category"></asp:Label> 
         </th> 
         <th> 
          <asp:Label ID="OccurrenceProbabilityLabel" runat="server" Text="Probability of Occurrence"></asp:Label> 
         </th> 
         <th> 
          <asp:Label ID="ProbabilityRatingLabel" runat="server" Text="Rating"></asp:Label><br /> 
          <asp:Label ID="ProbabilityRatingLabel2" runat="server" Text="(L/M/H)"></asp:Label> 
         </th> 
         <th> 
          <asp:Label ID="OccurrenceImpactLabel" runat="server" Text="Impact of Occurrence"></asp:Label> 
         </th> 
         <th> 
          <asp:Label ID="ImpactRatingLabel" runat="server" Text="Rating"></asp:Label><br /> 
          <asp:Label ID="ImpactRatingLabel2" runat="server" Text="(L/M/H)"></asp:Label> 
         </th> 
        </tr> 
        <tr> 
         <td> 
          <asp:Label ID="BaseDesktopLabel" runat="server" Text="Base Desktop"></asp:Label> 
         </td> 
         <td> 
          <asp:Label ID="BaseDesktopProbabilityLabel" runat="server" Text="Based on workspace/RBB assessment, what is the probability that this change could impact function, performance or availability of a base component?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="DesktopProbabilityPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="DesktopProbabilityButtonList" runat="server" OnSelectedIndexChanged="DesktopProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 

         </td> 
         <td> 
          <asp:Label ID="BaseDesktopImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the workstation?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="DesktopImpactPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="DesktopImpactButtonList" runat="server" OnSelectedIndexChanged="DesktopImpactButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <asp:Label ID="ProductivityLayerLabel" runat="server" Text="Productivity Layer"></asp:Label> 
         </td> 
         <td> 
          <asp:Label ID="ProductivityLayerProbabilityLabel" runat="server" Text="Based on workspace/RBB engineering assessment, what is the probability that this change could impact function, performance or availability of a productivity application?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="ProductivityProbabilityPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="ProductivityProbabilityButtonList" runat="server" OnSelectedIndexChanged="ProductivityProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
         <td> 
          <asp:Label ID="ProductivityLayerImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the productivity application?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="ProductivityImpactPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="ProductivityImpactButtonList" runat="server" OnSelectedIndexChanged="ProductivityImpactButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <asp:Label ID="BusinessApplicationsLabel" runat="server" Text="Business Applications"></asp:Label> 
         </td> 
         <td> 
          <asp:Label ID="BusinessApplicationsProbabilityLabel" runat="server" Text="Based on workspace engineering assessment, what is the probability that this change could impact function, performance or availability of a business application?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="BusinessProbabilityPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="BusinessProbabilityButtonList" runat="server" OnSelectedIndexChanged="BusinessProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
         <td> 
          <asp:Label ID="BusinessApplicationsImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the business application?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="BusinessImpactPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="BusinessImpactButtonList" runat="server" OnSelectedIndexChanged="BusinessImpactButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <asp:Label ID="DatacenterLabel" runat="server" Text="Datacenter/Infrastructure"></asp:Label> 
         </td> 
         <td> 
          <asp:Label ID="DatacenterProbabilityLabel" runat="server" Text="What is the probability that this change could impact function, performance or availability of networks, infrastructure or web services used by the branch??"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="DatacenterProbabilityPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="DatacenterProbabilityButtonList" runat="server" OnSelectedIndexChanged="DatacenterProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
         <td> 
          <asp:Label ID="DataCenterImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the datacenter or infrastructure?"></asp:Label> 
         </td> 
         <td> 
          <asp:UpdatePanel ID="DataCenterImpactPanel" runat="server" UpdateMode="Always"> 
           <ContentTemplate> 
            <asp:RadioButtonList ID="DatacenterImpactButtonList" runat="server" OnSelectedIndexChanged="DatacenterImpactList_SelectedIndexChanged" AutoPostBack="True"> 
             <asp:ListItem Text="High" Value="3"></asp:ListItem> 
             <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
             <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
            </asp:RadioButtonList> 
           </ContentTemplate> 
          </asp:UpdatePanel> 
         </td> 
        </tr> 
        <tr> 
         <td>&nbsp;</td> 
         <td style="text-align: right"> 
          <asp:Label ID="OverAllRatingLabel" runat="server" Font-Bold="True" Text="Change Risks Overall Average Rating: "></asp:Label> 
         </td> 
         <td style="text-align: right"> 
          <asp:Label ID="OverallRating" runat="server" Font-Bold="True"></asp:Label> 
         </td> 
         <td style="text-align: right"> 
          <asp:Label ID="OverallRiskLabel" runat="server" Font-Bold="True" Text="Overall Risk: "></asp:Label> 
         </td> 
         <td style="text-align: right"> 
          <asp:Label ID="OverallRisk" runat="server" Font-Bold="True"></asp:Label> 
         </td> 
        </tr> 
       </table> 

現在我的C#

double averageRating, desktopProbabilityRating, desktopImpactRating, productivityProbabilityRating, productivityImpactRating, businessProbabilityRating, businessImpactRating, datacenterProbabilityRating, datacenterImpactRating = 0; 

protected void DesktopProbabilityButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    desktopProbabilityRating = Convert.ToDouble(DesktopProbabilityButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void DesktopImpactButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    desktopImpactRating = Convert.ToDouble(DesktopImpactButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void ProductivityProbabilityButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    productivityProbabilityRating = Convert.ToDouble(ProductivityProbabilityButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void ProductivityImpactButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    productivityImpactRating = Convert.ToDouble(ProductivityImpactButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void BusinessProbabilityButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    businessProbabilityRating = Convert.ToDouble(BusinessProbabilityButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void BusinessImpactButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    businessImpactRating = Convert.ToDouble(BusinessImpactButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void DatacenterProbabilityButtonList_SelectedIndexChanged(object sender, EventArgs e) { 
    datacenterProbabilityRating = Convert.ToDouble(DatacenterProbabilityButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void DatacenterImpactList_SelectedIndexChanged(object sender, EventArgs e) { 
    datacenterImpactRating = Convert.ToDouble(DatacenterImpactButtonList.SelectedValue); 
    calculateAverage(); 
} 

protected void calculateAverage() { 
    averageRating = (desktopProbabilityRating + desktopImpactRating + productivityProbabilityRating + productivityImpactRating + businessProbabilityRating + businessImpactRating + datacenterProbabilityRating + datacenterImpactRating)/8; 
    OverallRating.Text = averageRating.ToString(); 
    if(averageRating <= 1) { 
     OverallRisk.Text = "Low"; 
    } 
    else if(averageRating > 1 && averageRating < 3) { 
     OverallRisk.Text = "Med"; 
    } 
    else if(averageRating >=3 || desktopProbabilityRating == 3 || desktopImpactRating == 3 || productivityProbabilityRating == 3 || productivityImpactRating == 3 || businessProbabilityRating == 3 || businessImpactRating == 3 || datacenterProbabilityRating == 3 || datacenterImpactRating == 3) { 
     OverallRisk.Text = "High"; 
    } 
} 

這應該是回發,我絕對不能確定爲什麼每隔控制在我的表單提交回來就好,而不是這些。有人能夠幫助確定原因嗎?沒有其他關於堆棧溢出的問題適用於我的問題。

非常感謝。

回答

1

您的標籤位於更新面板之外,這就是爲什麼它不起作用。所有單選按鈕回發沒有任何問題。

我建議你將所有控件包裝在一個更新面板中。

請閱讀這裏進一步https://forums.asp.net/t/1120428.aspx?Update+Label+outside+update+panel

<asp:UpdatePanel ID="updatePanel" runat="server" UpdateMode="Always"> 
          <ContentTemplate> 
<table class="td-table-bordered" style="width: 90%"> 
       <tr> 
        <th> 
         <asp:Label ID="CategoryLabel" runat="server" Text="Category"></asp:Label> 
        </th> 
        <th> 
         <asp:Label ID="OccurrenceProbabilityLabel" runat="server" Text="Probability of Occurrence"></asp:Label> 
        </th> 
        <th> 
         <asp:Label ID="ProbabilityRatingLabel" runat="server" Text="Rating"></asp:Label><br /> 
         <asp:Label ID="ProbabilityRatingLabel2" runat="server" Text="(L/M/H)"></asp:Label> 
        </th> 
        <th> 
         <asp:Label ID="OccurrenceImpactLabel" runat="server" Text="Impact of Occurrence"></asp:Label> 
        </th> 
        <th> 
         <asp:Label ID="ImpactRatingLabel" runat="server" Text="Rating"></asp:Label><br /> 
         <asp:Label ID="ImpactRatingLabel2" runat="server" Text="(L/M/H)"></asp:Label> 
        </th> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="BaseDesktopLabel" runat="server" Text="Base Desktop"></asp:Label> 
        </td> 
        <td> 
         <asp:Label ID="BaseDesktopProbabilityLabel" runat="server" Text="Based on workspace/RBB assessment, what is the probability that this change could impact function, performance or availability of a base component?"></asp:Label> 
        </td> 
        <td> 

           <asp:RadioButtonList ID="DesktopProbabilityButtonList" runat="server" OnSelectedIndexChanged="DesktopProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 


        </td> 
        <td> 
         <asp:Label ID="BaseDesktopImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the workstation?"></asp:Label> 
        </td> 
        <td> 
           <asp:RadioButtonList ID="DesktopImpactButtonList" runat="server" OnSelectedIndexChanged="DesktopImpactButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="ProductivityLayerLabel" runat="server" Text="Productivity Layer"></asp:Label> 
        </td> 
        <td> 
         <asp:Label ID="ProductivityLayerProbabilityLabel" runat="server" Text="Based on workspace/RBB engineering assessment, what is the probability that this change could impact function, performance or availability of a productivity application?"></asp:Label> 
        </td> 
        <td> 

           <asp:RadioButtonList ID="ProductivityProbabilityButtonList" runat="server" OnSelectedIndexChanged="ProductivityProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
        <td> 
         <asp:Label ID="ProductivityLayerImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the productivity application?"></asp:Label> 
        </td> 
        <td> 
           <asp:RadioButtonList ID="ProductivityImpactButtonList" runat="server" OnSelectedIndexChanged="ProductivityImpactButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="BusinessApplicationsLabel" runat="server" Text="Business Applications"></asp:Label> 
        </td> 
        <td> 
         <asp:Label ID="BusinessApplicationsProbabilityLabel" runat="server" Text="Based on workspace engineering assessment, what is the probability that this change could impact function, performance or availability of a business application?"></asp:Label> 
        </td> 
        <td> 
           <asp:RadioButtonList ID="BusinessProbabilityButtonList" runat="server" OnSelectedIndexChanged="BusinessProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
        <td> 
         <asp:Label ID="BusinessApplicationsImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the business application?"></asp:Label> 
        </td> 
        <td> 
           <asp:RadioButtonList ID="BusinessImpactButtonList" runat="server" OnSelectedIndexChanged="BusinessImpactButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="DatacenterLabel" runat="server" Text="Datacenter/Infrastructure"></asp:Label> 
        </td> 
        <td> 
         <asp:Label ID="DatacenterProbabilityLabel" runat="server" Text="What is the probability that this change could impact function, performance or availability of networks, infrastructure or web services used by the branch??"></asp:Label> 
        </td> 
        <td> 
           <asp:RadioButtonList ID="DatacenterProbabilityButtonList" runat="server" OnSelectedIndexChanged="DatacenterProbabilityButtonList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
        <td> 
         <asp:Label ID="DataCenterImpactLabel" runat="server" Text="If a problem did occur, what could be the extent of the impact to the operation of the datacenter or infrastructure?"></asp:Label> 
        </td> 
        <td> 
         <asp:RadioButtonList ID="DatacenterImpactButtonList" runat="server" OnSelectedIndexChanged="DatacenterImpactList_SelectedIndexChanged" AutoPostBack="True"> 
            <asp:ListItem Text="High" Value="3"></asp:ListItem> 
            <asp:ListItem Text="Med" Value="2"></asp:ListItem> 
            <asp:ListItem Text="Low" Value="1"></asp:ListItem> 
           </asp:RadioButtonList> 

        </td> 
       </tr> 
       <tr> 
        <td>&nbsp;</td> 
        <td style="text-align: right"> 
         <asp:Label ID="OverAllRatingLabel" runat="server" Font-Bold="True" Text="Change Risks Overall Average Rating: "></asp:Label> 
        </td> 
        <td style="text-align: right"> 
         <asp:Label ID="OverallRating" runat="server" Font-Bold="True"></asp:Label> 
        </td> 
        <td style="text-align: right"> 
         <asp:Label ID="OverallRiskLabel" runat="server" Font-Bold="True" Text="Overall Risk: "></asp:Label> 
        </td> 
        <td style="text-align: right"> 
         <asp:Label ID="OverallRisk" runat="server" Font-Bold="True"></asp:Label> 
        </td> 
       </tr> 
      </table> 
           </ContentTemplate> 
         </asp:UpdatePanel> 
+0

謝謝你,那肯定是它。 – David

相關問題