2016-02-23 2 views
0

есть много сообщений о предмете, но это мне не помогает!

Я отправляю данные с помощью jquery ajax на ту же страницу, и я обрабатываю его в page_load. есть способ вернуть данные вызывающему ajax?

мой Аякса в userLevel.aspx

$.ajax({ 
      type: "POST", 
      url: location.href, 
      dataType: 'text', 
      data: "action=userData" 
     }).done(function (result) { 
      alert(result); 
     }); 

мой code_behind в userLevel.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!User.Identity.IsAuthenticated) 
    { 
     Response.Redirect("~/login.aspx?ReturnUrl=userLevel.aspx"); 
    } 
    if(!IsPostBack) 
    { 
     if (Request.Form["action"] == "userData") 
     { 
      //bla bla bla... 

      return "some data"; 
     } 
    } 
} 

Я знаю, что я не могу вернуть значение из функции, которая возвращается тщетным но, возможно, я могу используйте response.write? Он работает, когда я отправляю данные в ashx, но когда я пытаюсь выполнить код за текущей страницей, я получаю весь html страницы.

+0

Вы должны использовать WebMethods: https: //msdn.microsoft.com/en-us/library/byxd99hx (v = VS.90) .aspx – ManojAnavatti

ответ

1
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!User.Identity.IsAuthenticated) 
    { 
    Response.Redirect("~/login.aspx?ReturnUrl=userLevel.aspx"); 
    return; 
    } 
    if(!IsPostBack) 
    { 
    if (Request.Form["action"] == "userData") 
    { 
     Response.Clear(); 
     // if you want data to be specific , you should set content type 
     // Set the ContentType 
     //Response.ContentType = "application/json"; 
     Response.Write("some data"); 
     Response.End(); 

    } 
    } 
} 
+0

, что происходит с вашим решением является то, что я получаю ответ, но Я получаю всю страницу html, поэтому добавил Response.End(), и она отлично работает. –

+0

Не могли бы вы описать немного больше, чтобы понять, чего вы пытаетесь достичь. –

+0

Я пытаюсь получить данные для пользователя из базы данных (sqlserver), когда страница загружается, она должна быть заполнена данными пользователя, я использую jquery для заполнять данные и анимацию на веб-странице, это должно произойти только после входа пользователя в систему. (если нет, я не могу получить его данные из db) –

Смежные вопросы