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,如下图:

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


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

浙公网安备 33010602011771号