在页面之间传递值

时间:2013-07-07 18:51:56

标签: c# asp.net

我遇到了在ASP.NET页面中传递int值的问题。我有一个登录页面,用户使用用户名和密码登录,用户ID在数据库中找到,用于设置变量的值,可以通过get属性访问,如果成功,则返回第二个通过此方法调用page(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. 如果我的方法足够安全,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

As answered previously

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

Response.Redirect
Cookies
Application Variables
HttpContext

<强>的Response.Redirect

SET:

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

GET:

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

<强>缓存

SET:

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

GET:

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

应用程序变量

SET:

Application["Name"] = "pandian";

GET:

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

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