asp .Net 实现DetailView绑定数据库 由只读到可编辑,指定文本框不可编辑

DetailView绑定数据库有两种方法:

1.手动连接

2.通过sqlDataSource

方法1:

protected DataSet  getDataSet(string sql)
    {
        string str = System.Configuration.ConfigurationManager.
              ConnectionStrings["conn"].ToString();
        SqlConnection connection = new SqlConnection(str);
        try
        {
            connection.Open();
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }

        SqlCommand sqlCmd = new SqlCommand(sql, connection);

        SqlDataAdapter custDA = new SqlDataAdapter();
        custDA.SelectCommand = sqlCmd;

        DataSet custDS = new DataSet();
        custDA.Fill(custDS, "数据库表名");
       connection.Close();
       return custDS;
}

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string sql = "select * from 数据库表名";
            Dataset data=getDataSet(sql);
            DetailsView1.DataSource = data;
            DetailsView1.DataBind();
        }
    }

方法2:

1)将DetailView控件拖入界面中

 2)选择新建数据源,点击OK,如果你的数据库是SQL server 的话就如下图

3)如果你之前没有使用过sqlDataSource的话,新建一个连接,填入连接SQL server的服务器名称,然后单击ok

4)之后都NExt,中间一些命名你可以自己修改,然后选择你要绑定的表或者视图,勾选表中你要显示的字段,如下图

5)设置好自己的数据源后,单击next,finish,数据库就绑定好了,你会在界面上看到这样,表头显示的是数据库中的字段的名字

可以这样去修改:点击EditField,修改HeaderText

6)改完后运行一下,成功了!

 

接下来是由可读模式到可编辑模式,在界面中添加一个按钮,为这个按钮添加响应事件:

protected void Button1_Click(object sender, EventArgs e)
{
DetailsView1.ChangeMode(DetailsViewMode.Edit);
}

你会发现即使是编辑模式,主键也还是不能修改,

我们来指定密码文本框不可编辑,点击EditField,选择密码,将ReadOnly改为true,如下图:

你也可以使用控件自己的编辑按钮;如图

总结:通过自学的摸索,感觉比上课学到的更多更深入

posted @ 2016-05-06 17:16  咯吱  阅读(1184)  评论(0)    收藏  举报