【问题标题】:How do I [WebMethod(EnableSession=true)] on UpdatePanel postbacks?我如何在 UpdatePanel 回发上 [WebMethod(EnableSession=true)]?
【发布时间】:2009-06-11 02:07:21
【问题描述】:

目前,我们有一组表单控件可以进行回发,我们决定通过将它们包装在更新面板中来获得一些“免费”的用户体验。控件将数据存储在该用户的会话状态中,这样我们就不必不断地从我们的平台请求数据。

在进行 WebMethods 和 WebService 调用时,如果我们想要使用会话,我们必须将 EnableSession 属性设置为 true,如果我们想要访问会话。由于更新面板也做同样的事情,在哪里放置 WebMethod/EnableSession 属性以便更新面板发出的请求可以访问会话?

谢谢。

【问题讨论】:

    标签: updatepanel session-state


    【解决方案1】:

    你不会把它放在与你的更新面板触发器相关的任何事件上吗?

    【讨论】:

    • 问题是触发回发的按钮是控件的一部分。我无权进入该控件并将其中的方法更改为具有 EnableSession=true 属性的 WebMethod。
    • 我还假设 UpdatePanels 不是专门调用一个方法,而是异步执行整个生命周期循环,所以从技术上讲,可能会改变更新面板中的信息的情况是' t 一种特定的方法。
    • 你可以为更新面板关联特定的触发器。因此,如果您有一个会导致更新面板更改的按钮,您将添加该按钮 ID 作为更新面板的触发器。您还必须在更新面板上设置 Updatemode = "conditional"。
    • 问题不是触发回发,问题是让回发可以访问当前会话信息。例如控件是一个数据输入表单,当用户点击保存时,我们将信息存储到我们的平台数据库中,并存储到用户的会话数据中,以便更快地处理。问题是,当使用更新面板时,回发没有相同的会话信息。
    猜你喜欢
    • 2012-01-05
    • 2016-08-06
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    相关资源
    最近更新 更多