2009-09-24 61 views
1

我试图在DataBinding方案中使用AJAX控件工具包的评级控制。DataBinding的AJAX控制工具包的评级控制

我的数据库中有一个ReuseRating列,它是tinyint。它可以保存值1到5.表中的每个记录当前都将值设置为1。

如果我在我的ItemTemplate中这样做一切正常。我在我的评分控制中获得了1颗星。

<act:Rating ID="ReuseRatingRating" runat="server" 
    CurrentRating='<%# Convert.ToInt16(Eval("ReuseRating")) %>' 
    MaxRating="5" 
    StarCssClass="ratingStar" 
    WaitingStarCssClass="savedRatingStar" 
    FilledStarCssClass="filledRatingStar" 
    EmptyStarCssClass="emptyRatingStar" /> 

现在我想DataBind这样在我的EditTemplate像这样。

<act:Rating ID="ReuseRatingRating" runat="server" 
    CurrentRating='<%# Convert.ToInt16(Bind("ReuseRating")) %>' 
    MaxRating="5" 
    StarCssClass="ratingStar" 
    WaitingStarCssClass="savedRatingStar" 
    FilledStarCssClass="filledRatingStar" 
    EmptyStarCssClass="emptyRatingStar" /> 

请注意,我将我的Eval更改为CurrentRating属性中的Bind。这会引发以下错误。

CS0103:“绑定”这个名字并不在当前的背景下存在

谁能帮我在这一个?现在我已经把头撞在墙上几个小时了。

+0

我认为这是与IE8和Ajax控件工具包更新面板中的错误。我的评级控制在IE8中也不起作用 – 2010-01-16 14:27:22

回答

0

尝试

CurrentRating='<%# String.IsNullOrEmpty(Eval("avg").ToString())?0:Convert.ToDecimal(Eval("avg")) %>'