版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、原価知識(shí)String與string的區(qū)別string是c#中的類,String是.net Framework的類(在c# IDE中不會(huì)顯示藍(lán)色) c# string映射為.net Framework的String 如果用string,編譯器會(huì)把它編譯成String,所以如果直接用String就可以讓編譯器少做一點(diǎn)點(diǎn)工作 如果使用c#,建議使用string,比較符合規(guī)范 string始終代表 System.String(1.x) 或 :System.String(2.0) ,String只有在前面有using System;的時(shí)候并且當(dāng)前命名空間中沒有名為String的類型(class、stru
2、ct、delegate、enum)的時(shí)候才代表System.String string是關(guān)鍵字,String不是,也就是說string不能作為類、結(jié)構(gòu)、枚舉、字段、變量、方法、屬性的名稱,而String可以。Convert.ToInt32(); 與Int32.Parse的區(qū)別Convert.ToInt32()與int.Parse()的區(qū)別(1)這兩個(gè)方法的最大不同是它們對(duì)null值的處理方法: Convert.ToInt32(null)會(huì)返回0而不會(huì)產(chǎn)生任何異常,但int.Parse(null)則會(huì)產(chǎn)生異常。2)還有一點(diǎn)區(qū)別就是 a. Convert.ToInt32(double value)
3、 如果 value 為兩個(gè)整數(shù)中間的數(shù)字,則返回二者中的偶數(shù);即 3.5轉(zhuǎn)換為4,4.5 轉(zhuǎn)換為 4,而 5.5 轉(zhuǎn)換為 6。 不過4.6可以轉(zhuǎn)換為5,4.4轉(zhuǎn)換為4 b. int.Parse(4.5) 直接報(bào)錯(cuò):輸入字符串的格式不正確. c. int(4.6) = 4 Int轉(zhuǎn)化其他數(shù)值類型為Int時(shí)沒有四舍五入,強(qiáng)制轉(zhuǎn)換 int.Parse是轉(zhuǎn)換String為int Convert.ToInt32是轉(zhuǎn)換繼承自O(shè)bject的對(duì)象為int的. 你得到一個(gè)object對(duì)象,你想把它轉(zhuǎn)換為int,用int.Parse就不可以,要用Convert.ToInt32. 個(gè)人總結(jié): (1)Convert.
4、ToInt32的參數(shù)比較多,Int.Parse只能轉(zhuǎn)換string類型的. (2)Parse就是把String轉(zhuǎn)換成int,char,double.等,也就是*.Parse(string) 括號(hào)中的一定要是string. (3)Convert可以提供多種類型的轉(zhuǎn)換,也就是Convert.*()括號(hào)中可以為很多種類型(包括string).2. Subst命令的使用Subst是DOS下的一個(gè)優(yōu)秀的命令,它的可執(zhí)行文件Substexe在C:Windowssystem32文件夾下(此路徑指windows xp系統(tǒng)),其正規(guī)的中文名稱應(yīng)該是“給目錄賦驅(qū)動(dòng)器符命令”。它的功能是以磁盤驅(qū)動(dòng)器符代替路徑名稱,
5、以使驅(qū)動(dòng)器符與指定的子目錄路徑等效。 其命令格式很簡(jiǎn)單:Subst Drive1 Drive2 Path ,subst R: C:LiuProjectGenKaRun其中“Drive1”是指定替代磁盤路徑的虛擬的新驅(qū)動(dòng)器符,“Drive2 Path”是指定所要替代的文件夾及其路徑。用戶可以利用它將任意目錄虛擬成一個(gè)磁盤驅(qū)動(dòng)器,如果用戶需要?jiǎng)h除虛擬的盤符,可以執(zhí)行Subst Drive1 D命令。同時(shí),并非所有的程序都可以正確使用Subst命令所生成的驅(qū)動(dòng)器符,比如Format、Sys、Fdisk等一些如今還常用的命令,這些命令必須使用真實(shí)的驅(qū)動(dòng)器,它們拒絕對(duì)Subst虛擬的驅(qū)動(dòng)器進(jìn)行操作。對(duì)于
6、網(wǎng)絡(luò)磁盤驅(qū)動(dòng)器,Subst命令也是無能為力的。在dos命令提示符下執(zhí)行subst命令虛擬增加的盤符,重啟電腦或者注銷電腦后,虛擬增加的盤符會(huì)消失,如果重啟電腦或者注銷電腦后盤符不消失,可以編輯批處理放在啟動(dòng)腳本里即可。網(wǎng)上說的是編輯系統(tǒng)根目錄下的AUTOEXEC.BAT文件,在我的電腦上試過了,不行的,也許與另有原因吧。高級(jí)使用技巧初步了解了Subst命令的用途及用法,不妨再看看它的一些高級(jí)使用技巧:1隱藏驅(qū)動(dòng)器Subst的看家本領(lǐng)是虛擬磁盤驅(qū)動(dòng)器符,雖然微軟建議用戶采用沒有使用的盤符進(jìn)行虛擬,但并不表示它不能虛擬已經(jīng)存在的盤符,比如A盤、C盤等。于是用戶可以通過Subst命令虛擬A、C等盤符
7、,直接覆蓋這些已經(jīng)存在的盤符,使他人無法看到該盤的真正內(nèi)容,以達(dá)到隱藏真實(shí)驅(qū)動(dòng)器的目的。例如,用戶先在D盤根目錄下創(chuàng)建一個(gè)名為“Aaa”的文件夾,最好將文件夾的屬性設(shè)置為“只讀”和“隱藏”。然后在C盤根目錄下打開“Autoexecbat”文件,加入以下代碼:Echo Off C Windowssystem32Subst A D Aaa這樣每次在系統(tǒng)啟動(dòng)后軟盤的圖標(biāo)就變?yōu)橛脖P的樣子,其中的內(nèi)容也變了,從而實(shí)現(xiàn)偷梁換柱的目的。需要還原的時(shí)候,只需在MSDOS方式下,運(yùn)行“SubstA D”就行了。2特殊軟件的安裝有少數(shù)軟件在安裝時(shí)會(huì)提示需要從A盤中提取安裝信息,這時(shí)難道只有將文件拷貝到軟盤后再安裝
8、嗎?完全沒有這個(gè)必要,Subst命令可以“欺騙”這些需要用軟盤安裝的軟件。用戶把軟盤中的文件全部拷貝到硬盤上的任意文件夾中,再將該文件夾用Subst命令虛擬成A盤后,即可順利安裝。3模擬光盤自動(dòng)運(yùn)行目前大部分多媒體光盤都帶有一個(gè)自動(dòng)運(yùn)行命令,方便了用戶的使用。然而若將光盤上的所有內(nèi)容全盤拷貝到硬盤上就不能正常運(yùn)行。這時(shí),用戶可以將放置光盤內(nèi)容的文件夾虛擬成光盤驅(qū)動(dòng)器(Subst F D Guangpan,假設(shè)F 為光驅(qū)),則軟件能正常運(yùn)行。3. ASP.NET UseSubmitBehavior 屬性如果該控件使用了客戶端瀏覽器的提交機(jī)制,則為 true;否則為 false。默認(rèn)值為 true
9、。當(dāng) UseSubmitBehavior 屬性為 false 時(shí),控件開發(fā)人員可以使用 GetPostBackEventReference 方法來返回 Button 的客戶端回發(fā)事件。GetPostBackEventReference 方法返回的字符串包含客戶端函數(shù)調(diào)用的文本,可以插入到客戶端事件處理程序中。Button控件的onclick、oncommand、commandname、CommandArgument的區(qū)別.Button控件Button控件在執(zhí)行后被解析為代碼,而Button控件的優(yōu)點(diǎn)就在于提交程序的同時(shí)能夠傳遞參數(shù),傳遞參數(shù)是靠CommandName與CommandArgume
10、nt屬性來完成的。舉兩個(gè)Button控件的例子。public void Button_Click(Object sender,EventArgs e) string argName = (Button)sender).CommandName; /sender為一個(gè)對(duì)象,故CommandArgument為string string argArg = (Button)sender).CommandArgument; Label1.Text=您選中的動(dòng)作為:+argName+,動(dòng)作目標(biāo)是:+argArg+;Button控件演示/public void Button_Click(Object send
11、er,CommandEventArgs e) string argName = e.CommandName; /CommandEventArgsr為一個(gè)類,故CommandArgument.ToString(); string argArg = e.CommandArgument.ToString(); Label1.Text=您選中的動(dòng)作為:+argName+,動(dòng)作目標(biāo)是:+argArg+;Button控件演示分析:1.兩個(gè)程序用不同的方法完成相同的功能和效果。 2.類CommandEventArgs有兩個(gè)公共屬性,CommandName(用來獲取命令的名稱)和CommandArgument
12、(用來獲取命令的參數(shù))。二者相互關(guān)聯(lián)。 3.兩個(gè)程序分別用OnClick與OnCommand激發(fā)事件,區(qū)別在于OnCommand是帶值傳遞的。 4.所有Button類的Web控件(如ImageButton,LinkButton)均含有CommandName和CommandArgument這兩個(gè)屬性。問題:上文中兩個(gè)程序采用的參數(shù)CommandEventArgs,EventArgs有什么區(qū)別?為什么在第一個(gè)程序中使用EventArgs,而不能使用CommandEventArgs(已經(jīng)驗(yàn)證,出現(xiàn)“Button_Click”的重載均與委托“System.EventHandler”不匹配)?例子:ht
13、tp://fuhengyu/blog/item/b37e14fb3ee4aea65.html解決:在網(wǎng)上查資料得到的結(jié)果:這類問題出現(xiàn)的原因就是在控件的一些事件里面調(diào)用了函數(shù),而這些函數(shù)的參數(shù)與該事件所要用到的參數(shù)類型不一致。在MSDN中搜索OnPageIndexChanging、OnPageIndexChanged等關(guān)鍵字就可以得到:C#protected virtual void OnPageIndexChanged (EventArgs e)C#protected virtual void OnPageIndexChanging (DetailsViewPageE
14、ventArgs e)C#protected virtual void OnRowDeleting (GridViewDeleteEventArgs e)C#protected virtual void OnRowDeleted ( DataRowChangeEventArgs e)這樣,在何種事件中使用什么樣的參數(shù)類型就一目了然了。還有后面的OnRowDeleted、OnRowDeleting也是同樣的道理。相應(yīng)事件:public void MyList_Page(object sender, GridViewPageEventArgs e)public void MyDataGrid_De
15、lete(Object sender, GridViewDeleteEventArgs e)5.關(guān)閉子窗口刷新父窗口,并且走進(jìn)!IsPostBack用window.open()打開子窗口時(shí),刷新父窗口window.opener.location.href=window.opener.location.href;window.close();window.showModalDialog和window.open關(guān)閉子頁(yè)面時(shí)刷新父頁(yè)面 父窗體打開頁(yè)面的javascriptfunctionGoToPage(id)vartitle=title;varurl=xxxxx.aspx?ID=+id+&Rado
16、m=+Math.random();varWidth=700;varHeight=600;vararguemnts=newObject();arguemnts.window=window;if(document.all&window.print)window.showModalDialog(url,arguemnts,dialogWidth:+Width+px;dialogHeight:+Height+px;center:yes;status:no;scroll:yes;help:no;);elsewindow.open(url,width=+Width+px,height=+Height+px
17、,resizable=1,scrollbars=1);子頁(yè)面執(zhí)行代碼后:Response.Write(window.dialogArguments.window.location=window.dialogArguments.window.location;);Response.Write(self.close(););如果是window.open打開的:Response.Write(window.opener.location.熱reload(););Response.Write(window.opener=null;window.close(););6.關(guān)閉當(dāng)前頁(yè)面時(shí)刷新父頁(yè)面最終解決辦法
18、 由于某種原因,原來頁(yè)面里或項(xiàng)目的關(guān)閉子窗口刷新父頁(yè)面的方法在有的項(xiàng)目里不好用?,F(xiàn)在介紹一種在.net中的萬能方法。1.在父頁(yè)面中加一個(gè)隱藏的LinkButton(好像只有LinkButton會(huì)產(chǎn)生:_doPostBack()事件),不用設(shè)置它的Visible屬性,只需把它顯示的文字清空,如下所示:2.在這個(gè)LinkButton的單擊事件中寫你要處理的事情,如下所示:protected void btnFresh_Click(object sender, EventArgs e) 你要處理的事情; 3.在父頁(yè)面的Page_Load事件中寫:btnFresh.Attributes.Add(onf
19、ocus, javascript:_doPostBack(btnFresh,);)當(dāng)Linkbutton獲得焦點(diǎn)時(shí)觸發(fā)單擊事件4.在父頁(yè)面中寫如下JS!-function openwin(budgetyear,budgetitem,department)/彈出模態(tài)窗口var url = budget/budget_share2_share_e.aspx?budgetyear= +budgetyear+&budgetitem=+budgetitem+&department=+department;var option = dialogHeight: 500px, center: yes; sta
20、tus: no;help:no;var result = window.showModalDialog(url, option);if (result = OK) /子頁(yè)面里的window.dialogArguments.returnValue = OK document.allbtnFresh.focus();/這樣保證在子頁(yè)面關(guān)閉時(shí)就給父頁(yè)面的Linkbutton復(fù)了焦點(diǎn),從而觸發(fā)Linkbutton的單擊事件5.在子頁(yè)面里的確定按鈕事件的最后面寫上string strReturn=;strReturn+=window.dialogArguments.returnValue = OK;wi
21、ndow.close();strReturn+=;this.Page.RegisterClientScriptBlock(,strReturn);Response.Expires簡(jiǎn)述默認(rèn)情況下,ASP禁止了瀏覽器和代理的緩沖功能。如果有一個(gè)每次都不要更新的頁(yè)面,就應(yīng)該打開 瀏覽器和代理的緩沖,這將允許瀏覽器和代理在一段時(shí)間內(nèi)使用該頁(yè)面的“緩沖”拷貝數(shù)據(jù)。緩沖能夠大大地減輕服務(wù)器的數(shù)據(jù)轉(zhuǎn)載量,并提高用戶的瀏覽性能。哪些類別的動(dòng)態(tài)頁(yè)面適合被緩存呢?下面是一些例子:天氣頁(yè)面,每5分鐘更新一次 新聞或版本列表頁(yè)面,每天更新2次 注意:使用瀏覽器或者代理緩存后,對(duì)Web服務(wù)器的點(diǎn)擊次數(shù)就會(huì)減少。如果想精
22、確地了解所有頁(yè)面,或者對(duì)于郵遞廣告,就不適于使用瀏覽器和代理緩存了。瀏覽器緩存由HTTP“Expires”頭參數(shù)控制,它由Web服務(wù)器發(fā)送給瀏覽器。ASP提供了2個(gè)簡(jiǎn)單的方法發(fā)送這個(gè)頭部參數(shù)。設(shè)置頁(yè)面在未來一定時(shí)間內(nèi)到期,可以使用Response.Expires屬性。下面的例子將告訴瀏覽器內(nèi)容在10分鐘后過期:設(shè)置Response.Expires為負(fù)數(shù)或者0,就禁止了緩存。對(duì)第2個(gè)屬性Response.ExpiresAbsolute的設(shè)置,允許指定在一個(gè)特殊時(shí)間到來時(shí)內(nèi)容過期。除了使用Response對(duì)象來設(shè)置到期時(shí)間,還可以在HTML文件頭部寫標(biāo)記。盡管代理不會(huì)注意到這個(gè)標(biāo)記,但是一些瀏覽器
23、可以。最后,對(duì)于HTTP代理,使用Response.CacheControl可以指示是否緩存內(nèi)容。設(shè)置屬性為“Public”,打開代理緩存內(nèi)容的功能。默認(rèn)情況下,這個(gè)屬性是設(shè)置成“Private”的。注意:不要讓代理緩沖那些顯示給特定用戶的頁(yè)面,因?yàn)榇砜赡軙?huì)將屬于其他用戶的頁(yè)面送給當(dāng)前用戶。 用base target =self(轉(zhuǎn)載)在創(chuàng)建或修改布局復(fù)雜Asp.Net服務(wù)器端控件時(shí),大量的時(shí)間都是在編譯,等待JIT,修改,編譯,JIT. 這樣一個(gè)循環(huán)中,而且兩個(gè)編譯常常還很耗費(fèi)時(shí)間。特別地,當(dāng)控件已集成在頁(yè)面之中后,在出現(xiàn)一些布局效果上的小偏差,再調(diào)整起來將是一個(gè)非常無趣和耗時(shí)的工作。 而
24、這時(shí)如果能直接修改已輸出的Html,很可能會(huì)更加迅速的找到問題所在。但是不幸的時(shí),通過瀏覽器Save As出來的html代碼顯然是不太具有修改價(jià)值的。因?yàn)楸緛砭椭皇且M(jìn)行細(xì)微的布局調(diào)整,而Save As出來頁(yè)面新的布局問題可能比本身要解決的問題更加嚴(yán)重。 那么就直接通過View Source把代碼copy出來存為html文件呢?這時(shí)后我們會(huì)發(fā)現(xiàn)頁(yè)面里面所有通過相對(duì)路徑定位的資源都回丟失,比如什么圖片啊,javascript啊等等,缺失了這些東西,頁(yè)面也就同樣失去了再調(diào)整編輯的價(jià)值。 在HTML中,有一個(gè)base標(biāo)簽,這個(gè)元素似乎只在模態(tài)窗口提交頁(yè)面避免彈出新窗口的時(shí)候,有用到過,平時(shí)似乎很少有
25、看到網(wǎng)頁(yè)用這個(gè)元素。殊不知這個(gè)base在調(diào)試html代碼時(shí),非常有用。比如你的ASP.NET頁(yè)面是/Index.aspx,而這個(gè)Index.aspx中顯現(xiàn)有很多通過相對(duì)路徑引用的圖片或JavaScript資源,這時(shí)我們通過View Source把它的html代碼在本地存為: index.htm文件,只用再在其標(biāo)簽中加入這么一行。我們?cè)俅蜷_這個(gè)index.htm時(shí),會(huì)發(fā)現(xiàn)這時(shí)和打開/Index.aspx的效果是一樣的,所有的圖片和腳本都正常被載入,這時(shí)候在IE Tool Bar等DOM查看
26、工具幫助下,就可以很方便通過直接修改html來調(diào)整頁(yè)面或控件輸出的外觀樣式,在找到錯(cuò)誤后再去服務(wù)器端代碼中進(jìn)行修改。使用模型窗口時(shí),重復(fù)打開畫面的解決方法最近項(xiàng)目中一個(gè)小問題卡了我不少時(shí)間。我遇到的問題是:在項(xiàng)目的彈出式的模型窗口里,我需要將數(shù)據(jù)提交到服務(wù)器。然后從服務(wù)器再返回到本頁(yè)面。結(jié)果:返回了本頁(yè)面,窗口卻是從新打開的?,F(xiàn)在來談一下解決方法:書上說在模型窗口中加入標(biāo)簽即可。我把該標(biāo)簽放上去卻沒有任何反應(yīng),當(dāng)時(shí)我不明白這為什么?后來經(jīng)過查證原來這個(gè)屬性有IE6與IE7之分。忘了說我的瀏覽器是IE7的。注:1、如果你是IE6,你將加入到標(biāo)簽里就可以了。2、如果你是IE7,你必須將加入到的對(duì)口
27、中位置。代碼示例: test . window.showModalDialog方式/模式窗口數(shù)據(jù)不刷新(緩存)問題window.showModalDialog方式 function ShowDialog(url) var iWidth=300; /窗口寬度 var iHeight=200;/窗口高度 var iTop=(window.screen.height-iHeight)/2; var iLeft=(window.screen.width-iWidth)/2; window.showModalDialog(url,window,dialogHeight: +iHeight+px; dia
28、logWidth: +iWidth+px; dialogTop: +iTop+; dialogLeft: +iLeft+; resizable: no; status: no;scroll:no); 注意這里的第二個(gè)參數(shù),window4.模式窗口數(shù)據(jù)不刷新(緩存)問題在jsp頁(yè)面加入如下語句 5,模式窗口中,鏈接彈出新窗口問題在和間加入6.無提示關(guān)閉頁(yè)面的方法function Close() var ua=navigator.userAgent var ie=navigator.appName=Microsoft Internet Explorer?true:false if(ie) var
29、IEversion=parseFloat(ua.substring(ua.indexOf(MSIE )+5,ua.indexOf(;,ua.indexOf(MSIE ) if(IEversion 5.5) var str = str += ; document.body.insertAdjacentHTML(beforeEnd, str); document.all.noTipClose.Click(); else window.opener =null; window.close(); else window.close() response.expires一般情況下,當(dāng)用戶請(qǐng)求WEB服務(wù)器
30、時(shí),服務(wù)器把請(qǐng)求回復(fù)給客戶端。在客戶端,瀏覽器把緩存作為一種加快速度的策略,就是當(dāng)請(qǐng)求時(shí)先檢查緩存的情況,如果有就直接調(diào)緩存了,而不請(qǐng)求服務(wù)器了。 在WEB程序設(shè)計(jì)中,有時(shí)為了防止重復(fù)的提交或者嚴(yán)格的次序等,必須讓用戶的數(shù)據(jù)立即在使用后就過期,當(dāng)用戶后退時(shí)就顯示過期而不能繼續(xù)使用。也算是為安全考慮的吧。 一般,response.expires寫在頁(yè)面的最上端,后面跟的是一個(gè)時(shí)間,就是過期的時(shí)間,0表示立即過期。 -1也是一樣的道理.即是-9999也是一樣的Ajax(Asynchronous JavaScript + XML)的定義1. 2.3. RegisterStartupScript和Re
31、gisterClientScriptBlock輸出位置的區(qū)別Page.Response.Write( var response; ); Page.RegisterStartupScript( RegisterStartupScript , var RegisterStartupScript; ); Page.RegisterClientScriptBlock( RegisterClientScriptBlock , var RegisterClientScriptBlock; ); Response.Write輸出后的位置在源文件的第一行. RegisterClientScriptBlock輸
32、出后的位置會(huì)在 的下一行.(在自帶的腳本和一些隱藏域之下). RegisterStartupScript輸出后的位置會(huì)在 的上一行. RegisterClientScriptBlock的原型與RegisterStartupScript相同,兩個(gè)函數(shù)不同在于將其包含的腳本代碼寫入到HTML文件的不同位置.RegisterClientScriptBlock在 Page 對(duì)象的 元素的開始標(biāo)記后立即發(fā)出客戶端腳本,RegisterStartupScript則是在Page 對(duì)象的 元素的結(jié)束標(biāo)記之前發(fā)出該腳本。如果你的腳本有與頁(yè)面對(duì)象(doucument對(duì)象)進(jìn)行交互的語句,則推薦使用R
33、egisterStartupScript,反之如果要想客戶端腳本盡可能早的執(zhí)行,則可以使用RegisterClientScriptBlock或Response.Write。 RegisterClientScriptBlock一般返回的是客戶端函數(shù)的包裝,而RegisterStartupScript返回得函數(shù)在document裝載完成后會(huì)執(zhí)行,類似于我們平時(shí)所說的body onload= f() 里面的函數(shù);這兩個(gè)方法在客戶端呈現(xiàn)的代碼位置不同,RegisterClientScriptBlock在 之后,而RegisterStartupScript在 之前。 補(bǔ)充例子:. function bl
34、ock() - RegisterClientScriptBlock()方法輸出的在這里 function startup() - RegisterStartupScript()方法輸出的在這里 有關(guān)一個(gè).aspx文件中放置多個(gè)Form的疑問問:其實(shí)每個(gè)Form我已經(jīng)用不同的ID來標(biāo)識(shí)了,為什么還會(huì)出現(xiàn)這樣的錯(cuò)誤?難道ASP.Net不允許一個(gè)頁(yè)面中存在多個(gè)Form嗎?另外還想問一下,如果一個(gè)頁(yè)面有多個(gè)Form,也就對(duì)應(yīng)多個(gè)提交按鈕,那么Page.IsValid值是如何判斷的?答1:.NET下只能有一個(gè)唯一的form答2:.net默認(rèn)在一個(gè)aspx文件中只能放一個(gè)form你如果要達(dá)到多表單效果,可
35、以用容器,比如說:panel。panel控件就很好,我用過一些,你將需要顯示的東西放在各個(gè)panel里,不想顯示的只要將panel的visable屬性設(shè)為false就行。這樣就代替了多個(gè)form答3:ASP.NET只允許有一個(gè)runat=server的Form,但允許有不含runat=server的其它form存在,這跟ASP.NET的Page Framework的postback機(jī)制有關(guān)答4:你還是可以加傳統(tǒng)的Form,但是不能在服務(wù)器端使用答5:Page.IsValid是對(duì)應(yīng)RunAt=Server的那個(gè)Form,因?yàn)橹挥羞@個(gè)Form,Asp.Net會(huì)自動(dòng)加上OnSubmit的Javasc
36、ript在windowsserver2003下發(fā)附件,上傳大文件注意事項(xiàng)? 在windowsserver2003下攜帶多個(gè)附件或者較大的附件進(jìn)行發(fā)送時(shí)系統(tǒng)報(bào)錯(cuò):Request對(duì)象錯(cuò)誤ASP0104:不允許操作出現(xiàn)上述信息,請(qǐng)進(jìn)行如下操作:先在服務(wù)里關(guān)閉iisadminservice服務(wù)找到windowssystem32inesrv下的metabase.xml,打開,找到ASPMaxRequestEntityAllowed把他修改為需要的值,默認(rèn)為,即200K然后重啟iisadminservice服務(wù)把它修改為windowsserver2003 iis6.0 相對(duì)路徑的解決方案(1)JavaSc
37、ript 相對(duì)路徑初始寫法,次寫法在IIS6.0中不認(rèn)因此改為以下寫法script type=text/javascript src= 也可以用ResolveUrl(/.);(2)在IIS中 屬性-主目錄-配置-選項(xiàng)中。把”啟用父路徑“前面打上勾。確認(rèn)刷新。腳本發(fā)生錯(cuò)誤 res:/ieframe.dll/aboutXP.dlg我在IE7中打開幫助-關(guān)于Internet Exploer-就會(huì)出現(xiàn)出錯(cuò)提示,存儲(chǔ)空間不足 無法完成此項(xiàng)操作是因?yàn)樽?cè)表中IE相關(guān)的User-Agent等子項(xiàng)含非標(biāo)準(zhǔn)無效鍵值,超出默認(rèn)的字符空間,以至于出錯(cuò)的,這些鍵值通常是由安裝第三方瀏覽器造成的你這樣處理:運(yùn)行注冊(cè)表,
38、將“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsUser Agent”項(xiàng)下都刪除了就沒問題了。解決IIS寫Excel的權(quán)限問題2008-12-24 09:36補(bǔ)充:使用以上方法必須對(duì)dcom進(jìn)行配置,給用戶使用office的權(quán)限。 具體配置方法如下: 1:在服務(wù)器上安裝office的Excel軟件. 2:在開始-運(yùn)行中輸入dcomcnfg.exe啟動(dòng)組件服務(wù) 3:依次雙擊組件服務(wù)-計(jì)算機(jī)-我的電腦-DCOM配置 4:在DCOM配置中找到Microsoft Excel 應(yīng)用程序,在它上面點(diǎn)擊右鍵,
39、然后點(diǎn)擊屬性,彈出Microsoft Excel 應(yīng)用程序?qū)傩詫?duì)話框 5:點(diǎn)擊標(biāo)識(shí)標(biāo)簽,選擇交互式用戶 6:點(diǎn)擊安全標(biāo)簽,在啟動(dòng)和激活權(quán)限上點(diǎn)擊自定義,然后點(diǎn)擊對(duì)應(yīng)的編輯按鈕,在彈出的安全性對(duì)話框中填加一個(gè)NETWORK SERVICE用戶(注意要選擇本計(jì)算機(jī)名),并給它賦予本地啟動(dòng)和本地激活權(quán)限. 7:依然是安全標(biāo)簽,在訪問權(quán)限上點(diǎn)擊自定義,然后點(diǎn)擊編輯,在彈出的安全性對(duì)話框中也填加一個(gè)NETWORK SERVICE用戶,然后賦予本地訪問權(quán)限. 這樣,我們便配置好了相應(yīng)的Excel的DCOM權(quán)限. 注意:我是在WIN2003上配置的,在2000上,是配置ASPNET用戶若不進(jìn)行配置會(huì)出現(xiàn)錯(cuò)誤
40、 檢索 COM 類工廠中 CLSID 為 -0000-0000-C000-6 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 。 原因是用戶沒有使用Excel的權(quán)限。 導(dǎo)出到word同樣要配置使用word的權(quán)限。敗,原因是出現(xiàn)以下錯(cuò)誤: 癥狀:oWordApplic = New Word.Application當(dāng)程序運(yùn)行到這句時(shí)出現(xiàn)下面的錯(cuò)誤:檢索 COM 類工廠中 CLSID 為 FF-0000-0000-C000-6 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 。oWordApplic = New Word.Application當(dāng)程序運(yùn)行到這句時(shí)出現(xiàn)下面的錯(cuò)誤:檢索 COM 類工廠中 CLSID 為 FF-
41、0000-0000-C000-6 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 。 解決方法一:控制面板管理工具組件服務(wù)計(jì)算機(jī)我的電腦DCom配置找到Microsoft Word文檔之后單擊屬性打開此應(yīng)用程序的屬性對(duì)話框。 2. 單擊標(biāo)識(shí)選項(xiàng)卡,然后選擇交互式用戶。 3.單擊安全選項(xiàng)卡,分別在啟動(dòng)和激活權(quán)限和訪問權(quán)限組中選中自定義,然后自定義-編輯-添加ASP.NET賬戶和IUSER_計(jì)算機(jī)名* 這些帳戶僅在計(jì)算機(jī)上安裝有 IIS 的情況下才存在。 13. 確保允許每個(gè)用戶訪問,然后單擊確定。 14. 單擊確定關(guān)閉 DCOMCNFG。解決方法二:如果上述方法不能解決問題,就應(yīng)該是權(quán)限問題,請(qǐng)嘗試用下面的
42、方法:在web.config中使用身份模擬,在節(jié)中加入 此處我用的超級(jí)用戶測(cè)試的-通過。ViewStatestatic就在當(dāng)前頁(yè)面中保存數(shù)據(jù)的. 謹(jǐn)慎A中static變量的用法2008-12-11 11:44像session.是會(huì)話級(jí)別的.只要會(huì)話沒有過期.session中存的數(shù)據(jù)就在. viewstate是頁(yè)面級(jí)別的.只要這個(gè)頁(yè)面在.viewstate中存的數(shù)據(jù)就在. 在.Net平臺(tái)下進(jìn)行CS軟件開發(fā)時(shí),我們經(jīng)常遇到以后還要用到某些變量上次修改后的值,為了簡(jiǎn)單起見,很多人都習(xí)慣用static來定義這些變量,我也是。這樣非常方便,下一次調(diào)用某個(gè)函數(shù)時(shí)該變量仍然保存的是處理過的值,直
43、接拿來用就可以了。 現(xiàn)在轉(zhuǎn)入了BS軟件開發(fā),我們很自然地會(huì)沿用這種習(xí)慣。如在頁(yè)面中統(tǒng)計(jì)某個(gè)按鈕被按下的次數(shù),先在類中OnClick事件的處理過程前定義一static變量times,則每次調(diào)用該按鈕的OnClick事件時(shí),令times增1即可,非常方便: C#:.static int times=0;.private void Button1_Click(object sender,EventArgs e) times+; Label1.Text=times.ToString(); 在我們慶幸如此方便之余,就未曾意識(shí)到我們已經(jīng)埋下了一棵難以察覺的定時(shí)炸彈。為什么哪? 這還要從A的運(yùn)行機(jī)制談起。在CS模式軟件開發(fā)過程中,我們通常不會(huì)關(guān)心應(yīng)用程序是在哪里運(yùn)行的,變量存放在哪里,客戶端程序就運(yùn)行在客戶端,服務(wù)器端程序就運(yùn)行在服務(wù)器端,一般情況下,二者除了數(shù)據(jù)庫(kù)中的數(shù)據(jù)外基本沒有其他共享的東西。所以這時(shí)客戶端的用戶大可放心的使用st
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遠(yuǎn)程提訊室制度規(guī)范要求
- 室內(nèi)看護(hù)值班制度規(guī)范
- 建筑工地抗旱制度規(guī)范
- 薄膜壓縮機(jī)規(guī)范管理制度
- 車隊(duì)長(zhǎng)規(guī)范管理制度范本
- 飯店油煙機(jī)報(bào)備制度規(guī)范
- 學(xué)校教育制度執(zhí)行規(guī)范
- 小學(xué)午餐伙食制度規(guī)范
- 醫(yī)院導(dǎo)醫(yī)陪診制度規(guī)范
- 午睡值班安排制度規(guī)范
- GB/T 16603-2025錦綸牽伸絲
- 2025-2030年中國(guó)三坐標(biāo)測(cè)量機(jī)行業(yè)前景趨勢(shì)及投資風(fēng)險(xiǎn)預(yù)測(cè)研究報(bào)告
- 新生兒血栓護(hù)理
- 燃?xì)馐褂梅謹(jǐn)倕f(xié)議書
- 《比較教材研究》課件
- 銀行保險(xiǎn)機(jī)構(gòu)安全保衛(wèi)工作自查操作手冊(cè)
- 胎盤異常超聲診斷課件
- 網(wǎng)吧滅火和應(yīng)急疏散預(yù)案
- 學(xué)生夜間管理突發(fā)事件應(yīng)急預(yù)案
- (高清版)DB5103∕T 12-2019 自貢彩燈 工藝燈通 用規(guī)范
- JJF(冀) 3029-2023 醫(yī)用(硬性)內(nèi)窺鏡校準(zhǔn)規(guī)范
評(píng)論
0/150
提交評(píng)論