在SQL搜索后从字符串结果创建链接
本文关键字:结果 创建 链接 字符串 SQL 搜索 | 更新日期: 2023-09-27 18:25:52
我已经成功地搜索了我想要的DB表,并将其传递到DataTable(dt)中。这个想法是,我想(在搜索之后)将某人重定向到他喜欢的结果页面。
因此,如果他搜索例如"Michael",我想向他显示Michael这个名字作为链接,如果他按下它,就会将他重定向到他的页面,该页面由~/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/>");
}
据你所知,我想创建一个链接,在搜索后重定向到用户配置文件。
感谢任何帮助,提前感谢!!!
迈克尔。
我个人更喜欢使用
var field = "<a href='" + Page.ResolveUrl("~/Default.aspx?Email=" + dr["id"]) + "'>" + (dr["First_Name"] + "").ToString() + "</a>";
这主要是如@Mikhail Timofeev所说,但有微小的修改。
解释:
Page.ResolveUrl
:确保相对于用户在网站树中的位置,它可以被客户端(浏览器)使用(请参阅来源)。
对我来说,在DBNull的情况下,dr["First_Name"] + ""
是首选。值可能会出现在这里,如果发生这种情况,可能会失败。
这样的东西?
var field = "<a href='/Default.aspx?Email="+dr["id"]+"'>"+ dr["First_Name"].ToString()+"</a>";