我的情景,
我正在使用asp.net 2.0。我有Site创建一个唯一的ID,它被插入数据库并显示在不可见的文本框中。现在我需要将此ID发送到下一页。我使用了Session(" MemberId")= Txtnewid.Text。它不工作当我分配给变量字符串时它显示零值。请帮我 。提前致谢
答案 0 :(得分:3)
您根本不需要将值存储在文本框中。您需要做的就是获取id并在第一次创建时将其插入会话中;对于同一页面或您网站中任何其他网站上的后续请求,您可以通过执行以下操作来访问此ID:
string id = Session["MemberId"] as string;
或者用Vb语法:
dim id as String = Session("MemberId")
答案 1 :(得分:2)
假设代码隐藏中的C#,将会话变量设置为: -
Session["MemberId"] = "MemberId";
将其恢复到下一页; -
if (Session["MemberId"] != null)
{
textBox1.Text = "Successfully retrieved " + (string)Session["MemberId"];
}
答案 2 :(得分:2)
有多种方法可以将值从一个页面传输到另一个页面。最常用的方法是
1.aspx.cs //第一页
Guid uniqueid = new Guid();
//Above code line will generate the unique id
string s_uniqueid = uniqueid.ToString();
// Convert the guid into string format
Session.Add("MemberId",s_uniqueid);
// Store the string unique id string to session variable so far called MemberId
2.asp.cs //第二页
string s_MemberId = Session["MemberId"].ToString();
Now you can use this string member id for any other process.
或
使用查询字符串将值从一个页面传输到另一个页面 如果您正在使用asp.net ajax开发应用程序,那么您需要使用Response.Redirect方法,否则使用Server.Transfer
像 1.aspx.cs //第一页
Guid uniqueid = new Guid();
//Above code line will generate the unique id
string s_uniqueid = uniqueid.ToString();
如果您愿意,请使用s_uniqueid加密
Response.Redirect("2.aspx?uid=" +s_uniqueid+ "");
2.asp.cs //第二页
string ss_uniqueid = Request.QueryString["s_uniqueid"];
然后用于另一个过程