標籤:manager phone 變數 can als linq 頁面 template updating
- 添加Linq to SQL類
添加新項|Linq to SQL類,拖放SQL db中的表到dbml檔案,自動建立相關的資料庫相應的類。(在.cs檔案中)
- Linq的使用
public DataClassesDataContext lqDB = new DataClassesDataContext(ConfigurationManager.ConnectionStrings["pubsConnectionString"].ToString());
protected void bind() { var result = from r in lqDB.authors where r.state.Equals("CA") select r;//new { r.au_id, r.au_fname, r.au_lname, r.address}; GridView1.DataSource = result; GridView1.DataBind(); }
- PageLoad事件
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) bind(); }
- Row_Editing事件
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.SelectedIndex = e.NewEditIndex; GridView1.EditIndex = e.NewEditIndex; bind(); }
- RowCancellingEdit事件
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; bind(); }
RowUpdating事件
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //au_id au_lname au_fname phone address city state zip contract //定位行對象 authors au = lqDB.authors.First(c => c.au_id == GridView1.DataKeys[e.RowIndex].Value);//修改行對象 au.au_lname = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text; au.au_fname = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text; au.phone = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text; au.address = ((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text; au.city = ((TextBox)GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text; au.state = ((TextBox)GridView1.Rows[e.RowIndex].Cells[6].Controls[0]).Text; au.zip = ((TextBox)GridView1.Rows[e.RowIndex].Cells[7].Controls[0]).Text; au.contract = ((CheckBox)GridView1.Rows[e.RowIndex].Cells[8].Controls[1]).Checked;//模版欄位有itemtemplate\edititemtemplate兩個。//提交行對象 lqDB.SubmitChanges(); GridView1.EditIndex = -1; bind(); }
linq asp.net