0

我已经成功地在我的数据库表中搜索了我想要的内容并将其传递到 DataTable (dt) 中。这个想法是我希望(在搜索之后)将某人重定向到他喜欢的结果页面。

因此,如果他搜索例如“迈克尔”,我想向他展示迈克尔的名字作为链接,如果他按下它会将他重定向到他的页面,该页面由 ~/Default.aspx?Email="+ 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/>");
            }

据您了解,我想在搜索后创建一个重定向到用户个人资料的链接。

任何帮助表示赞赏,在此先感谢!

迈克尔。

4

2 回答 2

0

像这样的东西?

var field = "<a href='/Default.aspx?Email="+dr["id"]+"'>"+ dr["First_Name"].ToString()+"</a>";
于 2014-10-08T12:15:05.950 回答
0

我个人更喜欢使用

var field = "<a href='" + Page.ResolveUrl("~/Default.aspx?Email=" + dr["id"]) + "'>" + (dr["First_Name"] + "").ToString() + "</a>";

这主要是@Mikhail Timofeev 所说的,但做了微小的修改。

说明

Page.ResolveUrl:确保相对于用户在您的网站树中的位置,以便客户端(浏览器)可以使用它(参见源代码)。

dr["First_Name"] + ""对我来说,这是首选,以防 DBNull.Value 可能出现在这里并且如果发生可能会失败。

于 2014-10-08T12:37:17.647 回答