【问题标题】:How to pass session object when navigate url is used使用导航 url 时如何传递会话对象
【发布时间】:2011-12-14 02:31:58
【问题描述】:

我正在使用超链接 navigateurl ,它会打开一个弹出窗口(这是一个 aspx 页面),此弹出窗口根据来自会话对象的数据加载。如何在导航 URL 中传递会话对象。任何人都可以给我建议。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    首先需要了解的是navigationUrl 不会导致回发。用户单击链接后,您无法使用服务器端代码进行控制。 我认为我们可以做到这一点的唯一方法是在运行时构造 url,并将会话值与 url 连接为 QueryString。看这个例子:假设你有一个 id="HyperLink1" 的控件。您可以将它放在 Page_Load 事件中

    HyperLink1.NavigateUrl = "~/popup.aspx?val=" + Session["ur_value"];
    

    然后在popup.aspx页面中从Page_Load事件中的url中提取QueryString

    string xx=Request.QueryString("val");//if the value was string
    

    但是你为什么要通过 navigateUrl 传递会话值呢? 您可以使用会话对象直接访问弹出 aspx 页面中的会话值。

    【讨论】:

    • 您好,非常感谢您的详细回答和建议。我正在研究已经开发的页面,该页面也用于其他一些形式。我想使用同一个页面,但不想看到该页面上存在的其他控件很少。
    • 我还没明白你的意思。也许你可以解释更多,以便其他人也可以告诉我们该怎么做。谢谢
    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 2015-12-11
    • 2011-08-03
    相关资源
    最近更新 更多