0

我有 ajax 评级控制,我试图在标签中捕获它的评级值。

评级控制代码是:

<asp:UpdatePanel runat="server" ID="upRating">
      <ContentTemplate>
      <act:Rating ID="rfixer" runat="server" CurrentRating="0" MaxRating="4" EmptyStarCssClass="emptypng" FilledStarCssClass="smileypng" StarCssClass="smileypng" WaitingStarCssClass="donesmileypng" OnChanged="Rating1_Changed">
      </act:Rating>
      <asp:Label ID="lblRating" runat="server" ForeColor="Red"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>

更改评级时,我正在更改标签文本:

 protected void Rating1_Changed(object sender, AjaxControlToolkit.RatingEventArgs e)
{
    System.Threading.Thread.Sleep(500);
    int iRate = Convert.ToInt16(e.Value);
    string strMessage = string.Empty;
    switch (iRate)
    {
        case 1:
            strMessage = "Not Useful";
            break;
        case 2:
            strMessage = "Average";
            break;
        case 3:
            strMessage = "Useful";
            break;
        case 4:
            strMessage = "Informative";
            break;
        case 5:
            strMessage = "Excellent";
            break;
    }
    strMessage = "Thanks for Rating, You found this Question " + strMessage;
    lblRating.Text = iRate.ToString();

   // e.CallbackResult = strMessage;

}

但是标签中的文本永远不会改变。

问题是什么?

4

1 回答 1

1

AutoPostBack="true"在您的评级控件中设置

  <act:Rating ID="rfixer" runat="server" AutoPostBack="true" CurrentRating="0" MaxRating="4" EmptyStarCssClass="emptypng" FilledStarCssClass="smileypng" StarCssClass="smileypng" WaitingStarCssClass="donesmileypng" OnChanged="Rating1_Changed">
  </act:Rating>
于 2012-06-12T10:53:27.683 回答