gridview第一列做了链接,一点进入新页面,然后把这一行的数据显示在新页面的textbox中,写的代码不报错但是textbox里是空的。        这是做的跳转 <asp:HyperLink ID="HyperLink1" runat="server" DataNavigateUrlFields="news_id" 
                        NavigateUrl='<%# Eval("news_id", "查看通知.aspx?id={0}") %>' 
                        Text='<%# Eval("news_id") %>'></asp:HyperLink>
这是跳转之后的
protected void Page_Load(object sender, EventArgs e)
    { 
      this.TextBox1.Text = getcontent();
    }
    public string getcontent()
    {
      string content = null;
      int id = Convert.ToInt32(Request.QueryString["news_id"]);
     string sqlstr = "select news_content from news where news_id=" + id;
     string strconn1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\毕业设计管理系统1\App_Data\database.mdf;Integrated Security=True;User Instance=True";
        SqlConnection con = new SqlConnection(strconn1);
        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = sqlstr;
        content = Convert.ToString(cmd.ExecuteScalar()); 
        con.Close(); 
        return content; 
}

解决方案 »

  1.   


            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                { 
                    //给文本框赋值
                }
            }
      

  2.   

    改成
    <asp:HyperLinkField DataNavigateUrlFields="news_id" DataTextField="news_id" DataNavigateUrlFormatString="查看通知.aspx?id={0}" />
      

  3.   

    找到问题了,是这里int id = Convert.ToInt32(Request.QueryString["id"]);
    谢谢哈!