使用Ajax&amp ;;检索会话数据C#

时间:2017-06-02 11:00:03

标签: c# jquery asp.net ajax

我有一个自定义系统,我正在添加通知。通知在事件之后创建并存储在数据库中。通知与UserID相关,通知显示在site.master页面中,底层代码可在site.master.cs文件中检索。

此时通过点击通知并执行与该通知相关的操作来“解除”通知,例如阅读邮件,但我希望有一个“关闭”按钮,可以对许多通知执行此操作。我觉得最好通过使用jQuery触发Ajax调用而不是重新加载页面来实现。我发现this useful post给了我基本的概念,并且我已经在我的演示网站上运行良好但是为了更进一步,我确信我需要将UserID作为参数传递给函数。 / p>

麻烦的是UserID存储在Session中,我不确定正确的方法。如何使用客户端功能检索服务器端的会话数据?然后我考虑使用称为拉取会话数据的方法,虽然我不确定浏览器中没有加载的页面是否可以访问它。

我还想过在母版页上使用这个方法,因为通知显示代码在主页面中,但是添加一个web方法会让它变得棘手,因为我不确定我是怎么调用它的,例如,Ajax调用的URL是一个aspx页面:

$.ajax({
    type: 'POST',
    url: 'PageName.aspx/GetDate', // <- surely 'site.master.cs/Dismiss isn't a good idea?
    data: '{ }',
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function(msg) {
        // Do something interesting here.
    }
});

我很确定无法添加site.master作为网址。

我总是可以把这个方法放在每个页面上,但这感觉就像是一种效率低下的方法,并且意味着我会在整个地方重复代码。我还创建了一个带有相应.cs文件的“ajaxHandler.aspx”文件,但我不确定它是否可以访问会话数据&amp;如果那是好的做法。

PS我没有添加代码,因为我认为这比语法更具结构性,但我很乐意发布任何有用的内容。

0 个答案:

没有答案