2016-02-23 44 views
0

有很多关于该主题的帖子,但它不帮助我!

我使用jquery ajax将数据发送到同一页面,并在page_load中处理它。 有没有办法将数据返回给调用ajax?

我在userLevel.aspx阿贾克斯

​​

我在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"; 
     } 
    } 
} 

我知道我不能从返回void 函数返回一个值,但也许我可以code_behind使用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填充数据并在网页上设置动画,只有在用户进入后才能发生(如果没有,我不能从数据库获取他的数据) –