Как я могу изменить текст метки asp через функцию c #, которая вызывается ajax - PullRequest
0 голосов
/ 29 января 2019

Я хочу получить доступ к управлению asp через ajax.Пояснение: я хочу вызвать функцию c # через ajax.Эта функция c # изменяет текст нескольких меток с различными условиями.

Пожалуйста, проверьте следующий код.

    <input id="btnSilverGetPrice2" class="btn btn-next btn-fill btn-success btn-wd" type="button" value="Get Price" />

    <script type="text/javascript">
        function CheckCode(val) {
            $.ajax({
                type: "GET",
                url: "Premium-Membership.aspx/FCheckCode",
                data: { 'name': val },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
        }

        $("#btnSilverGetPrice2").click(function () {
            CheckCode();
        })    

        function OnSuccess(response) {
            alert(response.d);
        }
    </script>

Код C #

    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod(UseHttpGet = true)]
    public static string FCheckCode()
    {
        Main_Website_SignIn obj = new Main_Website_SignIn();
        string ans=obj.trial();
        return ans;
    }

    public string trial()
    {
        try
        {
            if (Session["LUSER"].ToString() == "Jobseeker")
            {
                if (DropDownListSilver.SelectedValue == "6")
                {
                    lblShowRegularPrice.Text = "500/6 Months";
                    lblShowPopularPrice.Text = "1000/6 Months";
                    lblShowPlatinumPrice.Text = "1500/6 Months";

                    lblSilverPrice.Text = "500";
                    lblGoldPrice.Text = "1000";
                    lblPlatinumPrice.Text = "1500";
                }
             }
         }
         catch (Exception){}
         return "working";      
     }

Сообщение успешно возвращено, но текст меткине изменено.

1 Ответ

0 голосов
/ 29 января 2019

Я хочу получить доступ к управлению asp через ajax.Пояснение: я хочу вызвать функцию c # через ajax.Эта функция c # изменяет текст с несколькими метками при разных условиях.

Как только веб-страница попадает в браузер пользователя, ASP (и .Net в целом) выходит из области действия ..Net больше не может получить доступ к элементам управления.По сути, порядок операций следующий:

  1. Запрос начинается.
  2. Весь ваш код .Net выполняется, где вы можете установить свои элементы управления, например, установить значение для myLabel.Text
  3. .Net преобразует ваш элемент управления в строку HTML .В настоящее время он использует значения (например, myLabel.Text) для генерации HTML.
  4. HTML возвращается браузеру, который отображает его.
  5. Запрос заканчивается.

Когда вы используете ajax, вы выполняете действие в браузере.Вы работаете с сгенерированным HTML-контентом, а не с элементами управления ASP.Net, которые когда-то использовались для генерации HTML-кода.

Короткий ответ на ваш вопрос: вы не можете делать это какчто .Для операций в браузере вам необходимо решение в браузере.Назначьте значения через Javascript / jQuery.Например:

function OnSuccess(response) {
    $("#myLabel").text(response.foo);
    $("#myOtherLabel").text(response.bar);
    $("#myOtherOtherLabel").text(response.baz);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...