Вы можете получить элемент управления пользователя из статического метода со страницы?

100
7

Я пытаюсь вызвать метод, который находится в User Control с clientide, используя ajax/jquery. Мой аякс выглядит примерно так:

function starClick(starIndex) {
$.ajax({
type: "POST",
url: "ItemPage.aspx/postRatingProxy",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
document.getElementById("testAjax").innerHTML = msg.d;
}
});
}

Метод моей страницы выглядит примерно так:

[WebMethod]
public static string postRatingProxy()
{
return .......postRating();
}

Затем метод User Control выглядит примерно так:

public static string postRating()
{
return "git er done";
}

Я видел, как этот метод предлагается где-то. Хотя Im очень потерял вопрос о том, как получить мой метод UserControl из метода страницы, когда он статичен. Можно ли получить UserControl из статического метода или я просто зашел в тупик?

спросил(а) 2013-05-11T19:57:00+04:00 7 лет, 1 месяц назад
1
Решение
54

Можно ли получить UserControl из статического метода или я просто зашел в тупик?

Нет, это невозможно. ASP.NET PageMethod является статическим и не дает вам доступа к каким-либо пользовательским элементам управления. Причина этого проста. Когда вы выполняете запрос AJAX с jQuery, на сервер не отправляется ViewState, и поэтому понятие User Control вряд ли имеет смысл. Если вам нужно получить доступ к некоторому значению в методе страницы, это значение будет отправлено как параметр в запросе AJAX:

data: JSON.stringify({ someParameter: 'some value you could take from wherevr you want' }),

ответил(а) 2013-05-11T19:58:00+04:00 7 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема