2017-03-29 68 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

相关问题