我有一个充满用户(id,First_Name,姓,Email_Account等)的SQL DB。 Im根据名称搜索DataBase并显示链接,如果单击该链接,则会将您重定向到用户页面。c#多个Sql结果和会话值
我的问题是,当我尝试传递会话变量,所以当链接被点击,然后页面加载从会话变量加载。
因此,当我有多个搜索结果,以我这样做的方式最后的结果会话变量通过。
这是代码! :)
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DisplayingImages
{
public partial class WebForm7 : System.Web.UI.Page
{
SqlConnection con = new SqlConnection("Data Source=MPAPASYMEON;Server=mpapasymeon;Database=LOGIN;Initial Catalog=LOGIN; User ID=nikolaossts; Password=aaa;Connect Timeout=240");
string PID2;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click1(object sender, EventArgs e)
{
DataTable PassRecord = new DataTable();
String str = "select First_Name,Email_Account,Surname,id from ID where (First_Name like '%'+ @search +'%') OR (Surname like '%'+ @search +'%') OR (Email_Account like '%'+ @search +'%')";
SqlCommand Srch = new SqlCommand(str, con);
Srch.Parameters.Add("@search", SqlDbType.NVarChar).Value = TextBox1.Text;
if (TextBox1.Text != "")
{
con.Open();
Srch.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = Srch;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(dt);
DataTable Results = new DataTable;
PID =(int)(Session["id"]);
int SaveTheFirst = PID;
foreach (DataRow dr in dt.Rows)
{
PID2 = dr["id"].ToString();
if (PID.ToString() != PID2)
{
var field = "<a href='" + Page.ResolveUrl("~/PageView.aspx?Email=" + dr["id"].ToString()) + "'>" + (dr["First_Name"] + "").ToString() + "</a>";
Session["SurnameView"] = dr["Surname"];
string check1 = dr["Surname"].ToString();
Session["idView"] = dr["id"];
string check2 = dr["id"].ToString();
Session["EmailView"] = dr["Email_Account"];
string check3 = dr["Email_Account"].ToString();
Response.Write(field);
HttpContext context = HttpContext.Current;
Response.Write("<br/>");
}
}
con.Close();
}
else
{
string display = " Not Valid Search Criteria!";
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + display + "');", true);
}
}
public string SN { get; set; }
public string PS { get; set; }
public string EM { get; set; }
public int PID { get; set; }
}
}
所以你告诉我,在我的程序中,我应该把Session [“XXXX”+ ID],对! – frcake 2014-10-21 05:46:58
理想情况下,会话的控制将通过处理创建和删除会话的公共静态类来调用。调用例如SessionUtilities.CreateSession(Session [“XXXX”+ ID])。是的,这会为每个用户创建会话。 – Mez 2014-10-21 06:22:12
嗯,我看到你可以重定向我的地方,所以我可以读取或张贴一些示例代码?谢谢 !! – frcake 2014-10-22 07:07:59