У меня есть веб-метод:
[System.Web.Services.WebMethod]
public static string getCharacterstics(int product_id, int lang_id)
{
// code goes here...
}
Я хочу получить к нему доступ, используя PageMethods, например: (При условии, что у меня есть Включить PageMethods в ScriptManager):
<script type="text/javascript">
$(document).ready(
function () {
$('#characterstics').html("loading");
// '<%= product_id_property %>' , '<%= this.LanguageID %>'
PageMethods.getCharacterstics(0 ,0 , OnSave);
}
);
function OnSave(result) {
}
</script>
Iполучить сообщение об ошибке "сообщение глагола http для доступа к пути .. не разрешено"
Я гуглил его и тоже ищу в SO, но не нашел решения относительно него на основе маршрутизации ASP.NET.
Я считаю, что из-за маршрутизации asp.net сервисные методы недоступны.
Кроме того, я думаю, что даже не могу использовать JSON из-за маршрутизации asp.net.
Приветствуется любая помощь.
Обновлено:
Если я запустил страницу с таким URL:
http://localhost:2606/searchdetail.aspx
Веб-метод успешно выполнен.
Теперь
У меня есть такая маршрутизация:
routes.MapPageRoute("searchdetail", "searchdetail/{ID}", "~/searchdetail.aspx");
routes.MapPageRoute("searchdetail", "searchdetail", "~/searchdetail.aspx");
set_path () будет работать только для случая 2, т.е. без идентификатора, но не работает с делом 1
если я попытаюсь
http://localhost:2606/searchdetail
Он отлично работает
, но если я попытаюсь использовать:
http://localhost:2606/searchdetail/123
Это гОшибка ives в том, что объект ожидался.
Итак, set_path () - это опция, которую я должен написать.