ASP.NET學(xué)習(xí)中常見(jiàn)錯(cuò)誤總結(jié)歸納
前言
自己在學(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í)中常見(jiàn)錯(cuò)誤總結(jié)歸納的文章就介紹到這了,更多相關(guān)ASP.NET 常見(jiàn)錯(cuò)誤內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
.NET?中配置從xml轉(zhuǎn)向json方法示例詳解
這篇文章主要為大家介紹了.NET?中配置從xml轉(zhuǎn)向json方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11.NET 6新特性試用Timer類之PeriodicTimer?
這篇文章主要介紹了.NET 6新特性試用Timer類之PeriodicTimer,PeriodicTimer與其他Timer需要?jiǎng)?chuàng)建事件回調(diào)不同,下,下面文章詳細(xì)介紹PeriodicTimer的使用方式,需要的朋友可以參考一下2022-02-02為什么ASP.NET Core 數(shù)據(jù)庫(kù)連接串的值和appsettings.json配的不一樣?
這篇文章主要介紹了為什么數(shù)據(jù)庫(kù)連接串的值和appsettings.json配的不一樣?下面我們就帶著疑問(wèn)閱讀下文,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-02-02HttpResponse的Output與OutputStream、Filter關(guān)系與區(qū)別介紹
在網(wǎng)上經(jīng)??匆?jiàn)有這樣的代碼HttpResponse response = HttpContext.Current.Response;現(xiàn)在我也來(lái)說(shuō)說(shuō)這幾個(gè)東東是什么吧2012-11-11ASP.NET Core WebSocket集群實(shí)現(xiàn)思路詳解
這篇文章主要為大家介紹了ASP.NET Core WebSocket集群實(shí)現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11.Net執(zhí)行SQL存儲(chǔ)過(guò)程之易用輕量工具詳解
這篇文章主要為大家介紹了.Net執(zhí)行SQL存儲(chǔ)過(guò)程之易用輕量工具詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12.Net性能調(diào)優(yōu)-ArrayPool詳情
ArrayPool具有高性能 托管 數(shù)組緩沖池,可重復(fù)使用,用 租用 空間的方式代替 重新分配 數(shù)組空間的行為的特點(diǎn)及可以在頻繁創(chuàng)建和銷毀數(shù)組的情況下 提高性能 ,減少垃圾回收器的壓力的優(yōu)點(diǎn),下面文章內(nèi)容將詳細(xì)對(duì)其做介紹,需要的朋友可以參考一下2021-09-09