我正在使用ajaxtoolkit:評級。這一切都工作正常,除了我試圖寫一個值改變事件的ASP標籤,並不能得到它的工作。下面是代碼中的相關行:如何在AJAX回調後更新asp:標籤
page.aspx
<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
<td>
<ajaxtoolkit:Rating ID="YourRating" runat="server" BehaviorID="RatingBehavior1" CurrentRating="0"
MaxRating="10" StarCssClass="ratingStar" WaitingStarCssClass="savedRatingStar"
ReadOnly="false" FilledStarCssClass="filledRatingStar" EmptyStarCssClass="emptyRatingStar"
OnChanged="YourRating_Changed" />
</td>
<td>
(<asp:Label ID="YourRatingNumber" Text="" runat="server"></asp:Label>)
</td>
</LoggedInTemplate>
<AnonymousTemplate>
<td>
<a href="../Default.aspx">Login</a> or Register to Rate
</td>
</AnonymousTemplate>
page.aspx.cs
protected void YourRating_Changed(object sender, AjaxControlToolkit.RatingEventArgs e)
{
((HtmlGenericControl)FindControl("MainContent_LoginView1_YourRatingNumber")).InnerHtml = e.Value;
}
我想要做的就是更新我的ASP:標籤控件將名爲「YourRatingNumber」的文本命名爲e.value。我嘗試了很多方法。我意識到asp:標籤呈現爲span標籤,但我似乎無法訪問該值。如何做到這一點?
謝謝...鮑勃
我明白你在說什麼,感謝你的意見。我正在使用Web Foms。我仍然認爲有一種方法通過使用包含我的asp:Label ID =「YourRatingNumber的UpdatePanel來實現我的YourRating_Changed事件。當然,我可以將ajaxtoolkit上的AutoPostBack更改爲true:Rating,但是這會破壞ajax的目的。 javascript函數(或添加一個)使用從上述YourRating_Changed塊的e.callbackresult? – Bob 2012-03-02 03:08:10
我把ajaxtoolkit評級控制在一個updatepanel中,並使用BehaviorID來調用我的JS函數: Sys.Application.add_load(function( ){$ 找到( 「RatingBehavior1」)add_EndClientCallback(功能(發送者,例如){ \t \t \t的document.getElementById( 'MainContent_LoginView1_YourRatingNumber')的innerHTML = e.get_CallbackResult(); }); }); 現在很好用 – Bob 2012-03-02 04:46:38