没有在POST请求

时间:2017-04-03 09:26:46

标签: jquery asp.net ajax post

我使用jquery ajax调用创建了一个不错的网页,但注意到没有调用Page_Load来获取jquery ajax POST请求。我需要Page_Load调用来访问登录用户的名称,使用POST接收的数据存储在数据库中,因为代码隐藏中的静态WebMethod无法访问Page对象。

我的问题:在POST请求中没有调用Page_Load这是正常的吗?如果是这样,如何获取用户名的Page对象,而不使用Page_Load?

comment on this question中,我读到:不再维护对WebMethod的支持。您应该考虑切换到Web API,因为它得到了很好的支持(并且更简单!)

但谷歌搜索并没有真正产生关于Web API的信息,因为这是一个非常通用的搜索词。关于这个的任何信息?

更新

我的问题是通过在静态WebMethod中使用HttpContext解决的,如下所示,所以我不需要Page_Load。

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点

  1. 在您的javascript中添加一个设置当前username的变量,并将其作为参数传递给POST方法。

    var usrName = "@HttpContext.Current.User.Identity.Name";

  2. HttpContext也可以在代码隐藏中的静态WebMethod中使用,因此您也可以直接使用它来实现相同的功能