GrideView(三)---編輯數據庫
法1、(優點:操做數據更加靈活;劣勢: 書寫較多代碼,開發效率低)
經過編輯列---添加超連接(HyperlinkField)字段 ,來跳轉頁面實現編輯操做;
步驟: 1 、經過編輯列---添加超連接(HyperlinkField)字段 ;
二、更改設置:外觀- Text 「編輯」;數據-DataNavigateUrlFields:主鍵值;
數據-DataNavigateUrlFormatString:edit.aspx?id={0} 跳轉到操做頁面 ; 並把 主鍵值傳遞過去;
三、添加edit.aspx 頁面;
在頁面中添加編輯代碼:ide
1 private MYDataContext _context = new MYDataContext(); 2 protected void Page_Load(object sender, EventArgs e) 3 { 4 if (!IsPostBack) // 此處重點 判斷是不是第一次加載頁面,是的話進入,不然執行更新代碼; 5 { 6 string s = Request["id"];// 獲取主鍵值 7 FIllcar(s);//加載數據 8 } 9 10 } 11 12 private void FIllcar(string s) 13 { 14 var minmi = _context.Car.Where(p => p.Code == s); 15 if (minmi.Count() > 0) 16 { 17 //加載數據 18 Car data = minmi.First(); 19 TextBox1.Text = data.Code; 20 TextBox2.Text = data.Name; 21 TextBox3.Text = data.Brand; 22 TextBox4.Text = data.Oil.ToString(); 23 TextBox5.Text = data.Price.ToString(); 24 } 25 } 26 protected void Button1_Click(object sender, EventArgs e) 27 { 28 // 編輯數據後更改數據庫並傳送至頁面顯示 29 string code = Request["id"]; 30 var mimi = _context.Car.Where(p=>p.Code==code); 31 Car data = mimi.First(); 32 data.Name = TextBox2.Text; 33 data.Brand = TextBox3.Text; 34 data.Oil = Convert.ToDecimal(TextBox4.Text); 35 data.Price = Convert.ToDecimal(TextBox5.Text); 36 _context.SubmitChanges(); 37 Response.Redirect("Default.aspx"); 38 39 40 } 41 protected void Button2_Click(object sender, EventArgs e) 42 { 43 // 點擊取消按鈕後跳轉到顯示頁面 44 Response.Redirect("Default.aspx"); 45 }
法2、經過GrideView 控件自帶的編輯功能實現;(優點:開發效率高;劣勢:對於數據的操做不靈活,不顯示在頁面上的數據(或者隱藏的數據)不能顯示)
<%#Eval()%> 只能輸出數據 <%#Bind()%>//輸出數據並接受返回數據《詳細解釋 見播客 <% 看這裏! %>》spa
操做要點:基本上均爲可視化操做:見圖;3d
1 視圖啓用刪除功能code
2 GrideView 啓用刪除功能orm