У меня есть метод WebMethod, определенный в одной из моих библиотек классов, к которому я хочу получить доступ на странице aspx.
У меня есть проект библиотеки классов, где я создал класс, который наследует System.UI.Page, у этого нового класса есть функция webmethod, называемая («GetUsername»). Теперь я ссылался на эту библиотеку в своем веб-проекте, и в default.aspx.cs я унаследовал новый класс (тот, который я создал выше в библиотеке классов). Теперь в aspx я написал функцию ajax для доступа к данным из базы данных, однако она выдает ошибку для параметра url ajax с 404.
Вот моя структура кода:
1. Библиотека классов:
[ScriptService]
public class WebMethodLibrary : Page
{
[WebMethod]
public static object GetCurrentUserName()
{
Alistar.Data.AlistarDataContext db = new Alistar.Data.AlistarDataContext();
Guid gUser = new Guid("8FEF8333-F1AE-4E9E-95F9-07316CE39F73");
var user = db.Users.Find(gUser);
return new { Username = user.Username };
}
}
2. Код веб-страницы:
public partial class _default : WebMethodLibrary
{
}
3. Страница ASPX с вызовом Ajax:
$.ajax({
url: 'GetCurrentUserName',
dataType: 'json',
type: 'post',
contentType: 'application/json',
data: {},
processData: false,
success: function (data, textStatus, jQxhr) {
alert(JSON.stringify(data));
},
error: function (jqXhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
Может ли кто-нибудь указать, в чем может быть проблема?