【问题标题】:passing values between pages [duplicate]在页面之间传递值[重复]
【发布时间】:2013-07-05 02:38:43
【问题描述】:

我在 ASP.NET 页面之间传递 int 值时遇到问题。我有一个登录页面,用户使用用户名和密码登录,用户 ID 在数据库中找到并用于设置变量的值,该变量可通过 get 属性访问,如果成功,第二个通过此方法调用页面(LoggedIn.aspx):

Server.Transfer("LoggedIn.aspx", true);

在 LoggedIn 页面中,我将其放在顶部:

<%@ PreviousPageType VirtualPath="~/AccountLogin.aspx" %>

并且userid的值存储在构造函数中的一个全局变量中:

if (this.PreviousPage != null)
        user = PreviousPage.userid;

另一个 get 属性提供对这个变量的访问。当用户选择一个按钮时,这个过程会重复到第三页。我似乎遇到并且无法完全弄清楚的问题是,当用户选择 LoggedIn 页面上的按钮时,该页面似乎重新加载,因此 userid 值设置为零,因此该值无用。

  1. 我应该改用会话状态(即,它是否更安全)?
  2. 如果我的方法足够安全,我该如何解决这个问题?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    As answered previously:

    您可以通过以下方式将值从一页传递到另一页..

    Response.Redirect
    Cookies
    Application Variables
    HttpContext
    

    Response.Redirect

    设置:

    Response.Redirect("Defaultaspx?Name=Pandian);
    

    获取:

    string Name = Request.QueryString["Name"];
    

    Cookies

    设置:

    HttpCookie cookName = new HttpCookie("Name");
    cookName.Value = "Pandian"; 
    

    获取:

    string name = Request.Cookies["Name"].Value;
    

    应用程序变量

    设置:

    Application["Name"] = "pandian";
    

    获取:

    string Name = Application["Name"].ToString();
    

    请参阅此处的完整内容:Pass values from one to another

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2017-06-24
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    相关资源
    最近更新 更多