前言
自己在學(xué)習(xí).NET中常犯的錯(cuò)誤(持續(xù)更新)
下拉框綁值
public void ddlist() { this.DropDownList1.DataTextField = "DeviceName"; this.DropDownList1.DataValueField = "DeviceID"; this.DropDownList1.DataSource = dbl.ddlist(); this.DropDownList1.DataBind(); this.DropDownList1.Items.Insert(0, new ListItem("全部", "0")); }
this.DropDownList1.DataTextField = “DeviceName”;
DataTextField :顯示給用戶看的數(shù)據(jù)庫(kù)列
DataValueField:綁定數(shù)據(jù)源等于綁定唯一標(biāo)識(shí)列
DataSource:數(shù)據(jù)源,綁定sql語(yǔ)言可以顯示數(shù)據(jù)
DataBind:綁定數(shù)據(jù)才可以顯示出來(lái),是一個(gè)函數(shù)
Items.Insert(0, new ListItem(“全部”, “0”));
ltems表示集合
insert()兩個(gè)參數(shù) (int index,Ltems item)
最后效果:
綁值GridView
public void jiaz() { this.GridView1.DataSource = dbl.show(); this.GridView1.DataBind(); }
DataSource:數(shù)據(jù)源,綁定sql語(yǔ)言可以顯示數(shù)據(jù)
DataBind:綁定數(shù)據(jù)才可以顯示出來(lái),是一個(gè)函數(shù)
最后效果:
刪除數(shù)據(jù)
- 點(diǎn)擊刪除
CommandAgument和CommandName 配合一起使用,一般習(xí)慣用于刪除
會(huì)在RowCommand事件執(zhí)行
先綁定ID
再綁定CommandName
進(jìn)入Rowcommand事件里面
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName=="del") { int id = int.Parse(e.CommandArgument.ToString()); bool b1 = dbl.del(id); if (b1) { Response.Write("<script>alert("刪除成功")</script>"); jiaz(); } else { Response.Write("<script>alert("刪除失敗")</script>"); } } }
e.CommandName=="del"
RowCommand無(wú)論怎么樣都會(huì)先來(lái)這里,所以判斷一下是不是要執(zhí)行刪除操作,根據(jù)e.CommandName==“del”
int id = int.Parse(e.CommandArgument.ToString());
刪除執(zhí)行的SQL語(yǔ)句是要根據(jù)ID唯一標(biāo)識(shí)列來(lái)進(jìn)行有目標(biāo)的
修改
- 點(diǎn)擊修改
修改CommandName為update,為了激發(fā)updateing事件
綁定ID,這里是鍵值對(duì)
為什么不綁定commandAgument呢,因?yàn)樯厦嬲f(shuō)了commandAgument,是要去Rowcommand事件配合使用的,我們把CommandName修改成為update,是要去Rowupdating事件
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { int id = int.Parse(this.GridView1.DataKeys[e.RowIndex]["DeviceID"].ToString()); bool b1 = dbl.up(id); if (b1) { Response.Write("<script>alert("修改成功")</script>"); jiaz(); } else { Response.Write("<script>alert("修改失敗")</script>"); } }
int id = int.Parse(this.GridView1.DataKeys[e.RowIndex][“DeviceID”].ToString());
修改SQL語(yǔ)句也是要獲取修改的唯一標(biāo)識(shí)列
這個(gè)GridView1的DataKeys
[e.RowIndex] [“DeviceID”]:當(dāng)前行的數(shù)據(jù)庫(kù)標(biāo)識(shí)列
修改賦值到另外一個(gè)頁(yè)面
Session["ID"] = this.GridView1.DataKeys[e.RowIndex]["BookID"].ToString(); Label Booksname = (Label)this.GridView1.Rows[e. RowIndex].FindControl("Label2"); Session["BookName"] = Booksname.Text; Response.Redirect("add.aspx");
Session[“ID”] = this.GridView1.DataKeys[e.RowIndex][“BookID”].ToString();
找到的ID賦值給session
Label Booksname = (Label)this.GridView1.Rows[e. RowIndex].FindControl(“Label2”);
找當(dāng)前行的Label2控件
Session[“BookName”] = Booksname.Text;
把找到控件的值文本傳給session
Lable是類型,看Gridview是什么控件就轉(zhuǎn)換為什么類型
FindControl(找控件)
修改賦值到另外一個(gè)頁(yè)面綁定值
文本框綁定值
this.TextBox2.Text = Session["BookName"].ToString();
下拉框綁定值
if (Session["BookiS"].ToString().Contains("是")) { this.DropDownList1.SelectedIndex = 0; } else { this.DropDownList1.SelectedIndex = 1; }
判斷session里面是否包含這個(gè)值
this.DropDownList1.SelectedIndex = 0;
SelectedIndex = 0 代表 展示的是第一個(gè)
換頁(yè)不報(bào)錯(cuò)
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { this.GridView1.PageIndex = e.NewPageIndex; //換頁(yè)不報(bào)錯(cuò) jiazGridview(); }
Gridview 換頁(yè)不報(bào)錯(cuò)
到此這篇關(guān)于ASP.NET學(xué)習(xí)中常見錯(cuò)誤總結(jié)歸納的文章就介紹到這了,更多相關(guān)ASP.NET 常見錯(cuò)誤內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_46874327/article/details/116932707