|
2. 防止翻頁(yè)之后查詢出現(xiàn)PageIndexNumber溢出的問(wèn)題,要在翻頁(yè)之后查詢的時(shí)候,使用CurrentPageIndex=0指明當(dāng)前Datagrid的顯示頁(yè)碼數(shù),防止出現(xiàn)BUG。
3.在查詢?cè)斍榈臅r(shí)候,如果需要用到另一個(gè)界面進(jìn)行修改的時(shí)候,要傳遞3個(gè)參數(shù),第一個(gè)就是strSearch。第二個(gè)就是ID,第三個(gè)就是PageIndex。必須要有第三個(gè),為了一個(gè)目的,保證翻頁(yè)之后,進(jìn)行換頁(yè)修改操作之后,返回時(shí)回到原來(lái)的那個(gè)頁(yè)碼數(shù)上。
4.最好在綁定數(shù)據(jù)庫(kù)的時(shí)候,Search界面采用Label使得strSearch存儲(chǔ)在上面。
5.Label的長(zhǎng)度他自己是會(huì)調(diào)節(jié),不用人為的干預(yù),這也就是說(shuō),再次輸出的時(shí)候,如果輸出的結(jié)果不一定是定長(zhǎng)的時(shí)候,可以使用Label而不是TextBox。這里指明TextBox的長(zhǎng)度不會(huì)自己進(jìn)行更改。
6.問(wèn)題:
“在Web窗體設(shè)計(jì)器中未能加載該文件,請(qǐng)更正下列錯(cuò)誤,然后重新加載 未指定錯(cuò)誤” 點(diǎn)擊ASPx文件的時(shí)候, 不能顯示的該頁(yè)的設(shè)計(jì)窗體。而是彈出上面的提示。右鍵點(diǎn)擊查看代碼時(shí)候,能看到所屬ASPx.cs 文件的代碼,但是不能關(guān)聯(lián)起來(lái)。
解決方法:
1).將該ASPx和代碼文件從項(xiàng)目中移除, 然后再添加進(jìn)來(lái),就可以了;
2).項(xiàng)目是只讀的,把只讀去掉;
3).有可能頁(yè)面引用了第三方插件,而在引用中沒(méi)有引用第三方插件4).基類庫(kù)沒(méi)有添加
7.遇見(jiàn)怪事了
記得去年使用Oracle的時(shí)候就遇見(jiàn)過(guò)怪的事情,有的時(shí)候說(shuō)不清楚,有可能是軟件的問(wèn)題,還有可能是電腦的問(wèn)題,沒(méi)有辦法歸結(jié)為RP的問(wèn)題。日。
使用Oracle的 scratchpad寫(xiě)SQL語(yǔ)句,用的序列進(jìn)行描述,使用insert語(yǔ)句進(jìn)行數(shù)據(jù)插入,奇怪的結(jié)果出現(xiàn)了,語(yǔ)句中的序列自動(dòng)增長(zhǎng)了,但是查詢時(shí)候沒(méi)有出現(xiàn)結(jié)果。換了表名還是沒(méi)有結(jié)果。換了機(jī)器,奇怪的事情發(fā)生了,能夠顯示出來(lái)了。于是重啟PC,結(jié)果依然存在,別人的機(jī)器都可以運(yùn)行這句SQL。注銷本機(jī)都不能夠奏效。無(wú)奈,殺手锏,關(guān)機(jī),等待10分鐘,結(jié)果出現(xiàn)了,好了。郁悶的事情就是這樣,靠,這個(gè)屁問(wèn)題,浪費(fèi)了將近2小時(shí)。
8."線程正在被中止"
在ASP.NET程序中,如果位于try塊中的程序代碼試圖強(qiáng)制進(jìn)行頁(yè)面跳轉(zhuǎn)就會(huì)出現(xiàn)“線程正在被中止”的異常。要解決這個(gè)問(wèn)題就要把頁(yè)面跳轉(zhuǎn)語(yǔ)句移出try塊...
的確,把調(diào)轉(zhuǎn)語(yǔ)句寫(xiě)在try的外面就不會(huì)出現(xiàn)這種錯(cuò)誤了。第一次碰見(jiàn)這種情況。
9.使用“按鈕列”的時(shí)候,出現(xiàn)點(diǎn)擊編輯后,再點(diǎn)擊更新按鈕時(shí)候,出現(xiàn)不能獲取Datagrid的里面的數(shù)據(jù)情況,有可能是由于Page_Load函數(shù)里面的BindGrid函數(shù)的位置有問(wèn)題。
10.真的是沒(méi)有新技術(shù)的嘗試,就沒(méi)有新的錯(cuò)誤,也就沒(méi)有新的突破。
今天嘗試了一下,使用BindGrid()函數(shù)時(shí)候,使用參數(shù)來(lái)傳遞。原來(lái)都是無(wú)參數(shù)的情況,然后調(diào)用CreatTable()函數(shù)創(chuàng)建綁定的DataGrid。但是原來(lái)的創(chuàng)建函數(shù)是這樣的
DataSet ds=new DataSet();
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSearch_SJ,MyConn);
MyAdapter.Fill(ds,"CJ_2_ZF_SJ");
return ds.Tables["CJ_2_ZF_SJ"].DefaultView;
如果加上一個(gè)參數(shù)調(diào)用的話,就是加一個(gè)if判斷。由于我使用2個(gè)判斷方式,所以加上2個(gè)if判斷。但是萬(wàn)萬(wàn)沒(méi)有想到的是,報(bào)錯(cuò)了“并非所有的代碼路徑都返回值”。開(kāi)始懷疑是傳遞參數(shù)的時(shí)候把object的對(duì)象傳遞給了string的對(duì)象,上網(wǎng)搜索過(guò)后才發(fā)現(xiàn)不是這個(gè)問(wèn)題。是使用if判斷之后,程序認(rèn)為:沒(méi)有else結(jié)束,架設(shè)出現(xiàn)了else的情況,結(jié)果就是沒(méi)有返回值,就是這樣加上一個(gè)else return之后就OK了。
程序報(bào)出錯(cuò)誤“并非所有的代碼路徑都返回值”。
11.datagrid綁定的事件莫名其妙的丟失了,郁悶。
有個(gè)好的解決方式就是在窗體設(shè)計(jì)器生成的代碼里面把時(shí)間的動(dòng)作重新綁定一遍。
12.突然想到做一個(gè)dropdownlist里面的內(nèi)容可以選擇,但是也可以像一個(gè)testbox一樣可以編輯,于是乎上網(wǎng)找到相關(guān)資料:帖之如下









NET技術(shù):ASP.NET最近遇上的問(wèn)題小結(jié),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。