C# 将数据库结果传递到asp.net中的另一个页面

C# 将数据库结果传递到asp.net中的另一个页面,c#,asp.net,webforms,C#,Asp.net,Webforms,我正在处理一个asp.net页面,在那里我收集用户输入,在数据库中运行查询并显示结果。我想将结果从数据库显示到另一个不同的页面。下面是我的例子 在customerNumber.aspx页面中,我想在标签中显示临时结果。如何使其工作?最简单的方法是将临时变量存储在会话变量中,类似于: Session["temp"] = temp.ToString(); 然后: Label.Text = (string) Session["temp"]; 如果您的temp不是很长,并且对任何人公开都是安全的

我正在处理一个asp.net页面,在那里我收集用户输入,在数据库中运行查询并显示结果。我想将结果从数据库显示到另一个不同的页面。下面是我的例子




在customerNumber.aspx页面中,我想在标签中显示临时结果。如何使其工作?

最简单的方法是将临时变量存储在会话变量中,类似于:

Session["temp"] = temp.ToString();
然后:

Label.Text = (string) Session["temp"];

如果您的temp不是很长,并且对任何人公开都是安全的,那么您也可以使用
的“查询字符串”
通过页面传递数据。我们可以使用
的“会话”
真正通过页面传递数据,但您应该注意到,会话通常用于保存和传递属于特定用户的全局数据,这些数据保存在您的服务器中,因此,当您的网站有大量用户时,会出现“丰富的”会话可能会给服务器带来负担。如果您只需要在这两个页面之间传递temp,而不再在其他页面中使用它,
“QueryString”
可能是更好的选择。 了解有关“会话”、“查询字符串”、“应用程序”、“cookie”、“服务器.Transfer”的更多信息,这些是在asp.net中通过页面传递数据的几种方法。

使用以下方法-

string collect = "SELECT Customer ID FROM ReportDocumentNo WHERE Title = '" + title.Text + "' AND Author = '" + author.Text + "'";

SqlCommand com = new SqlCommand(collect, con);
Response.Redirect("customerNumber.aspx?tmp="+Convert.ToInt32(com.ExecuteScalar()));
在下一页

Label.text = Request.QueryString["tmp"]; 

您需要了解会话变量。将要传递给另一页的值存储在会话变量中,在该另一页中,可以从会话变量中读取该值。可以通过会话变量传递标题和作者,然后从该页运行查询,而不是传递结果。执行SQL的方式使您对SQL注入攻击开放,您应该考虑在存储过程中清理输入或运行SQL。
Label.text = Request.QueryString["tmp"];