2011-02-15 17 views
0
<ajax:Rating ID="rating" runat="server" MaxRating="5" CurrentRating="3.2" 
CssClass="rstar" StarCssClass="ritem" WaitingStarCssClass="svd" 
FilledStarCssClass="fld" EmptyStarCssClass="empt" AutoPostBack="True" 

誤會我的錯誤:無法從它的字符串表示 '3.2' 創建類型的對象 'System.Int32' 爲 'CurrentRating' 屬性

Cannot create an object of type 'System.Int32' from its string representation '3.2' for the 'CurrentRating' property.

C#代碼:

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!Page.IsPostBack) 
      { 
       Rating(rating.CurrentRating); 
      } 
      } 

private void Rating(double value) 
     { 
      Label1.Text = "Selected value " + EvalRating(value, rating.MaxRating, rt_min, rt_max); 
     } 

     private static string EvalRating(double value, int maxvalue, int minrange, int maxrange) 
     { 
      int stepDelta = (minrange == 0) ? 1 : 0; 
      double delta = (double)(maxrange - minrange)/(maxvalue - 1); 
      double result = delta * value - delta * stepDelta; 
      return FormatRes(result); 
     } 

     private static string FormatRes(double value) 
     { 
      return String.Format("{0:g}", value); 
     } 

     protected void rating_Changed(object sender, AjaxControlToolkit.RatingEventArgs e) 
     { 
      Rating(int.Parse(e.Value)); 
     } 
+0

沒有對象`rating`實例化什麼類在C#代碼,並沒有財產`CurrentRating`在該類什麼類型? – 2011-02-15 21:18:22

回答

4

「3.2」不是一個int值,而是一個double值。嘗試改變rating_Changed邏輯:

Rating(double.Parse(e.Value)); 
+0

thx爲這樣一個快速的幫助,但我仍然得到無法創建'字符串'表示'3.2'爲'CurrentRating'屬性類型'System.Int32'的對象。 – senzacionale 2011-02-15 20:56:08

相關問題