Как обновить asp: Метка после обратного вызова AJAX - PullRequest
0 голосов
/ 02 марта 2012

Я использую ajaxtoolkit: Рейтинг. Все работает нормально, за исключением того, что я пытаюсь записать значение в метку 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: label с именем «YourRatingNumber» на e.value. Я перепробовал много способов. Я понимаю, что asp: label отображается как тэг span, но я тоже не могу получить доступ к этому значению. Как это сделать?

Спасибо ... Боб

1 Ответ

0 голосов
/ 02 марта 2012

AJAX является асинхронным, что означает, что загрузка страницы не происходит.Изменение значения метки на стороне сервера во время операции AJAX ничего не вызывает на стороне клиента.Вам нужно будет дать сигнал клиенту, чтобы обновить страницу.Вы должны использовать JavaScript для этого.Я не думаю, что вы можете сделать это с помощью веб-форм.Если вы используете MVC, вы можете использовать для этого их помощников AJAX, но для этого потребуется переписать сайт.

Я бы посоветовал вам написать некоторый javascript, чтобы вызвать событие AJAX, и обновить его, когда онполучает ответ.Я бы также предложил прочитать http://w3schools.com/ajax/default.asp,, где объясняется, как использовать javascript для создания AJAX-запросов, но вам нужно немного настроить его для работы с asp.net.

Также обратите внимание, что вы должны включитьиспользуете ли вы Web Forms или MVC, хотя они похожи, они по-разному обрабатывают AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...