Посмотрите на это. Я верю, что это может решить вашу проблему.
$(document).ready(function () {
$("#asp").on("click", function () {
var obj = {};
$.ajax({
type: "POST",
url: "Default7.aspx/getname1",
data: JSON.stringify(obj),
contentType: "application/json; charset=utf-8",
dataType: "json",
global :true,
success: function (response) {
alert(response.d);
},
failure: function (response) {
alert("faillure");
}
});
return false;
});
$("#asp1").on("click", function () {
var obj = {};
$.ajax({
type: "POST",
url: "Default7.aspx/getname2",
data: JSON.stringify(obj),
contentType: "application/json; charset=utf-8",
dataType: "json",
global: true,
success: function (response) {
alert(response.d);
},
failure: function (response) {
alert("faillure");
}
});
return false;
});
});
$(document).ajaxComplete(function () {
var obj = {};
$.ajax({
type: "POST",
url: "Default7.aspx/getname1",
data: JSON.stringify(obj),
contentType: "application/json; charset=utf-8",
dataType: "json",
global :false,
success: function (response) {
alert(response.d);
},
failure: function (response) {
alert("faillure");
}
});
return false;
});
<button id="asp" >Click Me</button>
<button id="asp1" >Click Me</button>
Делайте что хотите в функции getname1. он будет вызываться каждый раз, когда вы совершаете ajax-вызов на страницу. Но в вашем случае остается проблема, что вам нужно вызвать метод мастер-страницы. К сожалению, я думаю, что невозможно вызвать веб-методы мастер-страницы через вызов ajax, так как мастер-страницы преобразуются в пользовательские элементы управления во время выполнения. Итак, что можно сделать, чтобы создать файл веб-службы (.asmx), добавить в него WebMethod и вызвать его с помощью вызова .ajax, как предложено выше в методе ajaxComplete.
Метод веб-сервиса будет выглядеть следующим образом.
[WebMethod(EnableSession = true)]
public string setSession()
{
HttpContext.Current.Session.TimeOut=60.24;
return "1";
}