1

我正在尝试让 Ajax Toolkit 评级控件在 ASP.NET 4 中工作。我已将其添加到页面中,并添加了注册声明,但它呈现为不可见(即:它呈现在具有 display:none 的页面上。

我的母版页上有一个标准的 scriptmanager,页面本身有一个标准的 scriptmanagerproxy。

我尝试将评级放在更新面板中,但同样的事情发生了。

这是我的代码:

<ajaxToolkit:Rating ID="ratRating" runat="server" MaxRating="5" StarCssClass="ratingStar" WaitingStarCssClass="savedRatingStar" FilledStarCssClass="filledRatingStar" EmptyStarCssClass="emptyRatingStar" OnChanged="rating_Changed" /> 

这导致以下代码(注意它被内联样式隐藏)

<div id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating">
    <input type="hidden" value="3" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_RatingExtender_ClientState" name="ctl00$ctl00$ctl00$cphBody$cphBody$cphBody$editRecipeForm$ratRating_RatingExtender_ClientState">
    <a style="text-decoration:none" title="3" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_A" href="javascript:void(0)">
    <span style="float:left;" class="ratingStar filledRatingStar" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_Star_1">&nbsp;</span>
    <span style="float:left;" class="ratingStar filledRatingStar" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_Star_2">&nbsp;</span>
    <span style="float:left;" class="ratingStar filledRatingStar" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_Star_3">&nbsp;</span>
    <span style="float:left;" class="ratingStar emptyRatingStar" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_Star_4">&nbsp;</span>
    <span style="float:left;" class="ratingStar emptyRatingStar" id="ctl00_ctl00_ctl00_cphBody_cphBody_cphBody_editRecipeForm_ratRating_Star_5">&nbsp;</span>
    </a>
</div>

我觉得奇怪的是没有显示错误消息,而且我没有在任何地方明确隐藏控件。

4

1 回答 1

2

它可能不是不可见的,而是评级星级的图像位置是错误的。

检查您的 css 类ratingStarfilledRatingStaremptyRatingStar.

于 2011-03-21T18:02:27.690 回答