我已成功搜索我的数据库表以查找我想要的内容并将其传递给DataTable(dt)。 我的想法是,我希望(在搜索之后)将某人重定向到他喜欢的结果页面。
所以如果他搜索“迈克尔”的例子,我想给他看一下,迈克尔这个名字作为一个链接,如果他按下它就会将他重定向到他的页面,这是由〜/ Default.aspx制作的? =“+ id(id也会在搜索后生成并转换为字符串)。
我的代码:
protected void Button1_Click1(object sender, EventArgs e)
{
DataTable PassRecord = new DataTable();
String str = "select First_Name,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;
con.Open();
Srch.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = Srch;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
var field = dr["First_Name"].ToString();
Response.Write(field);
Response.Write("<br/>");
}
据我所知,我想在搜索后创建一个重定向到用户个人资料的链接。
感谢任何帮助, 在此先感谢!!!
迈克尔。
答案 0 :(得分:0)
这样的事情?
var field = "<a href='/Default.aspx?Email="+dr["id"]+"'>"+ dr["First_Name"].ToString()+"</a>";
答案 1 :(得分:0)
我个人更喜欢使用
var field = "<a href='" + Page.ResolveUrl("~/Default.aspx?Email=" + dr["id"]) + "'>" + (dr["First_Name"] + "").ToString() + "</a>";
主要是@Mikhail Timofeev所说,但只是稍加修改。
解释 :
Page.ResolveUrl
:确保相对于用户在您网站的树中的位置进行引用,以便客户端(浏览器)可以使用它(请参阅Source)。
dr["First_Name"] + ""
是首选,以防DBNull.Value可能来到此处,如果发生则可能会失败。