如何在asp.net的文本框中显示记录值

时间:2013-06-06 06:04:35

标签: asp.net webforms

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {        
            binddata();    
        }
        SqlConnection con;
        SqlDataAdapter da;
        DataSet ds;

        void binddata()
        {
            string pid = Request.QueryString["Prod_Id"];
            con = new SqlConnection("Data Source=.\\sqlexpress; initial catalog=PracticeDb; user id=sa; pwd=manager;");
            con.Open();
            da = new SqlDataAdapter("Select * from Products where Prod_Id='" + pid + "'", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            con.Close();
            listview.DataSource = ds; 
            listview.DataBind(); 
        }
    } 
 }

当用户单击记录列表页面中的编辑链接时,将被定向到记录更新页面。我该怎么写在datasource和databind

2 个答案:

答案 0 :(得分:1)

您必须从DataSet中提取值

string name = ds.Tables[0].Rows[0]["name"].ToString();

我假设您在选择查询中有一个name作为字段,您必须使用您的字段。 获取该字段后,将其分配给TextBox,如

TextBox1.Text = name ;

之后,根据update运行Primary Key查询。

一个重要建议: -

尝试在Page.IsPostBack上使用您网页的Page_Load属性。需要更改您的Page_Load

protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
   binddata();
  }
}

希望你理解并为你工作。

答案 1 :(得分:0)

尝试使用它。

TextBox1.Text = ds.Tables[0].Rows[0]["name"].Tostring();