Значение ответа jQuery AJAX на метку

#c# #asp.net #jquery #response

#c# #asp.net #jquery #ответ

Вопрос:

Не могли бы вы, пожалуйста, проверить и сообщить мне, в чем проблема в приведенном ниже коде. У меня есть допустимое значение в ответе.d (Я проверил свое предупреждение о добавлении), но когда я присваиваю это значение label, оно не изменяет значение в label(lblData).

 function LoadPlanBoard() {
    $.ajax({
        type: "POST",
        url: "myplanboard.aspx/WebLoadPlanBoard",
        data: "{flag:'"   0   "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            $('#<%=lblData.ClientID %>').val(response.d);
        },
        failure: function (response) {
            alert(response);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            var errMessage = "An error occured serving your request. Please try again.";
            if (jqXHR)
                errMessage = $.parseJSON(jqXHR.responseText).Message;
            alert(errMessage);
        }
    });
}
  

Комментарии:

1. Я не совсем уверен. Я бы проверил значение lblData. ClientID и посмотрите, что это на самом деле выводит. Возможно, что на самом деле это не html-элемент, которому jquery знает, как присвоить значение.

2. Что означает <%=lblData. Идентификатор клиента %> вычисляется на веб-странице? Я бы использовал точку останова в этой строке и дважды проверил, что это то, что вы думаете, что это должно быть.

Ответ №1:

.val() предназначен для считывания значений элементов управления формой. Вы должны использовать .text():http://api.jquery.com/val /

Комментарии:

1. Я считаю, что val() возвращает значение, а val(value) задает значение.

2. Я уважаю ваши убеждения, но страница документа, на которую я ссылался, кажется, говорит иначе 😉

3. «Описание: Установите значение каждого элемента в наборе сопоставленных элементов».

4. .val не доступен только для чтения, для текстового поля я могу использовать .val, только для метки он не работает.

Ответ №2:

Метки в ASP.NET я думаю, что они отображаются как теги span. Я бы попробовал использовать .html(htmlString) .

Комментарии:

1. это не имеет ничего общего с ASP.NET . .val() следует использовать только с элементами формы.

2. Итак, тип элемента, который фактически отправляется в браузер, не соответствует теме этого вопроса?