【发布时间】:2010-11-08 15:54:00
【问题描述】:
我想将一个字符串值从一个页面传递到另一个页面。另外我有一些文本框,其中输入的值需要传递到一个新页面。我该怎么做?
我有一个字符串 S
String S = Editor1.Content.ToString();
我想将字符串 S 中的值传递到新页面,即 Default2.aspx 我如何在 ASP.net C# 中执行此操作
【问题讨论】:
标签: c# asp.net session cookies
我想将一个字符串值从一个页面传递到另一个页面。另外我有一些文本框,其中输入的值需要传递到一个新页面。我该怎么做?
我有一个字符串 S
String S = Editor1.Content.ToString();
我想将字符串 S 中的值传递到新页面,即 Default2.aspx 我如何在 ASP.net C# 中执行此操作
【问题讨论】:
标签: c# asp.net session cookies
您可以使用Session 或QueryString 实现它
按会话
在您的第一页:
String S = Editor1.Content.ToString();
Session["Editor"] = S;
然后在您的下一页使用以下命令访问会话:
protected void Page_Load(object sender, EventArgs e)
{
String editor = String.Empty;
if(!String.IsNullOrEmpty(Session["Editor"].ToString()))
{
editor = Session["Editor"].ToString();
// do Something();
}
else
{
// do Something();
}
}
-
通过查询字符串
在您的第一页:
// or other events
private void button1_Click(object sender, EventArgs e)
{
String S = Editor1.Content.ToString();
Response.Redirect("SecondPage.aspx?editor" + S)
}
在你的第二页:
protected void Page_Load(object sender, EventArgs e)
{
string editor = Request.QueryString["editor"].ToString();
// do Something();
}
【讨论】:
取决于值是什么。如果它只是一个参数并且可以被用户查看,那么它可以通过QueryString传递。
例如
Response.Redirect("Default2.aspx?s=value")
然后像从Default2页面访问
string s = Request.QueryString["s"];
如果需要更安全,请考虑使用会话,但我不建议过度使用会话,因为它可能会出现问题,特别是如果您存储的是 ASP.NET 默认的会话 InProc。
您可以拥有一个状态服务器或数据库,但最好拥有基于经过身份验证的用户的自己的基于数据库的会话,并在需要时将其缓存在网站中。
【讨论】:
在page1中使用Session["content"]=Editor1.Content.ToString()...
在 page2 中使用...string s = Session["content"]
【讨论】:
string s = Session["content"] 更改为string s = Session["content"] as string;