aspnet程序中最常用的三十三種編程代碼.doc_第1頁
aspnet程序中最常用的三十三種編程代碼.doc_第2頁
aspnet程序中最常用的三十三種編程代碼.doc_第3頁
aspnet程序中最常用的三十三種編程代碼.doc_第4頁
aspnet程序中最常用的三十三種編程代碼.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

程序中最常用的三十三種編程代碼,為初學(xué)者多多積累經(jīng)驗,為高手們歸納總結(jié),看了覺得很有價值,大家不妨參考下!1. 打開新的窗口并傳送參數(shù): 傳送參數(shù): response.write(scriptwindow.open(*.aspx?id=+this.DropDownList1.SelectIndex+&id1=+.+)/script) 接收參數(shù): string a = Request.QueryString(id); string b = Request.QueryString(id1); 2.為按鈕添加對話框 Button1.Attributes.Add(onclick,return confirm(確認(rèn)?); button.attributes.add(onclick,if(confirm(are you sure.?)return true;elsereturn false;) 3.刪除表格選定記錄 int intEmpID = (int)MyDataGrid.DataKeyse.Item.ItemIndex; string deleteCmd = DELETE from Employee where emp_id = + intEmpID.ToString() 4.刪除表格記錄警告 private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e) switch(e.Item.ItemType) case ListItemType.Item : case ListItemType.AlternatingItem : case ListItemType.EditItem: TableCell myTableCell; myTableCell = e.Item.Cells14; LinkButton myDeleteButton ; myDeleteButton = (LinkButton)myTableCell.Controls0; myDeleteButton.Attributes.Add(onclick,return confirm(您是否確定要刪除這條信息);); break; default: break; 5.點擊表格行鏈接另一頁 private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) /點擊表格打開 if (e.Item.ItemType = ListItemType.Item | e.Item.ItemType = ListItemType.AlternatingItem) e.Item.Attributes.Add(onclick,window.open(Default.aspx?id= + e.Item.Cells0.Text + );); 雙擊表格連接到另一頁 在itemDataBind事件中 if(e.Item.ItemType = ListItemType.Item | e.Item.ItemType = ListItemType.AlternatingItem) string OrderItemID =e.item.cells1.Text; . e.item.Attributes.Add(ondblclick, location.href=./ShippedGrid.aspx?id= + OrderItemID + ); 雙擊表格打開新一頁 if(e.Item.ItemType = ListItemType.Item | e.Item.ItemType = ListItemType.AlternatingItem) string OrderItemID =e.item.cells1.Text; . e.item.Attributes.Add(ondblclick, open(./ShippedGrid.aspx?id= + OrderItemID + ); 特別注意:【?id=】 處不能為 【?id =】 6.表格超連接列傳遞參數(shù) asp:HyperLinkColumn Target=_blank headertext=ID號 DataTextField=id NavigateUrl=aaa.aspx?id= %# DataBinder.Eval(Container.DataItem, 數(shù)據(jù)字段1)% & name=%# DataBinder.Eval(Container.DataItem, 數(shù)據(jù)字段2)% / 7.表格點擊改變顏色 if (e.Item.ItemType = ListItemType.Item |e.Item.ItemType = ListItemType.AlternatingItem) e.Item.Attributes.Add(onclick,this.style.backgroundColor=#99cc00; this.style.color=buttontext;this.style.cursor=default;); 寫在DataGrid的_ItemDataBound里 if (e.Item.ItemType = ListItemType.Item |e.Item.ItemType = ListItemType.AlternatingItem) e.Item.Attributes.Add(onmouseover,this.style.backgroundColor=#99cc00; this.style.color=buttontext;this.style.cursor=default;); e.Item.Attributes.Add(onmouseout,this.style.backgroundColor=;this.style.color=;); 8.關(guān)于日期格式 日期格式設(shè)定 DataFormatString=0:yyyy-MM-dd 我覺得應(yīng)該在itembound事件中 e.items.cell你的列.text=DateTime.Parse(e.items.cell你的列.text.ToString(yyyy-MM-dd) 9.獲取錯誤信息并到指定頁面 不要使用Response.Redirect,而應(yīng)該使用Server.Transfer e.g / in global.asax protected void Application_Error(Object sender, EventArgs e) if (Server.GetLastError() is HttpUnhandledException) Server.Transfer(MyErrorPage.aspx); /其余的非HttpUnhandledException異常交給ASP.NET自己處理就okay了 :) Redirect會導(dǎo)致postback的產(chǎn)生從而丟失了錯誤信息,所以頁面導(dǎo)向應(yīng)該直接在服務(wù)器端執(zhí)行,這樣就可以在錯誤處理頁面得到出錯信息并進(jìn)行相應(yīng)的處理 10.清空Cookie Cookie.Expires=DateTime; Response.Cookies(UserName).Expires = 0 回復(fù)人:yanglilibaobao() ( ) 信譽(yù):1002006-12-5 13:29:09得分:0?11.自定義異常處理 /自定義異常處理類 using System; using System.Diagnostics; namespace MyAppException / summary / 從系統(tǒng)異常類ApplicationException繼承的應(yīng)用程序異常處理類。 / 自動將異常內(nèi)容記錄到Windows NT/2000的應(yīng)用程序日志 / /summary public class AppException:System.ApplicationException public AppException() if (ApplicationConfiguration.EventLogEnabled)LogEvent(出現(xiàn)一個未知錯誤。); public AppException(string message) LogEvent(message); public AppException(string message,Exception innerException) LogEvent(message); if (innerException != null) LogEvent(innerException.Message); /日志記錄類 using System; using System.Configuration; using System.Diagnostics; using System.IO; using System.Text; using System.Threading; namespace MyEventLog / summary / 事件日志記錄類,提供事件日志記錄支持 / remarks / 定義了4個日志記錄方法 (error, warning, info, trace) / /remarks / /summary public class ApplicationLog / summary / 將錯誤信息記錄到Win2000/NT事件日志中 / param name=message需要記錄的文本信息/param / /summary public static void WriteError(String message) WriteLog(TraceLevel.Error, message); / summary / 將警告信息記錄到Win2000/NT事件日志中 / param name=message需要記錄的文本信息/param / /summary public static void WriteWarning(String message) WriteLog(TraceLevel.Warning, message); / summary / 將提示信息記錄到Win2000/NT事件日志中 / param name=message需要記錄的文本信息/param / /summary public static void WriteInfo(String message) WriteLog(TraceLevel.Info, message); / summary / 將跟蹤信息記錄到Win2000/NT事件日志中 / param name=message需要記錄的文本信息/param / /summary public static void WriteTrace(String message) WriteLog(TraceLevel.Verbose, message); / summary / 格式化記錄到事件日志的文本信息格式 / param name=ex需要格式化的異常對象/param / param name=catchInfo異常信息標(biāo)題字符串./param / retvalue / para格式后的異常信息字符串,包括異常內(nèi)容和跟蹤堆棧./para / /retvalue / /summary public static String FormatException(Exception ex, String catchInfo) StringBuilder strBuilder = new StringBuilder(); if (catchInfo != String.Empty) strBuilder.Append(catchInfo).Append(rn); strBuilder.Append(ex.Message).Append(rn).Append(ex.StackTrace); return strBuilder.ToString(); / summary / 實際事件日志寫入方法 / param name=level要記錄信息的級別(error,warning,info,trace)./param / param name=messageText要記錄的文本./param / /summary private static void WriteLog(TraceLevel level, String messageText) try EventLogEntryType LogEntryType; switch (level) case TraceLevel.Error: LogEntryType = EventLogEntryType.Error; break; case TraceLevel.Warning: LogEntryType = EventLogEntryType.Warning; break; case TraceLevel.Info: LogEntryType = EventLogEntryType.Information; break; case TraceLevel.Verbose: LogEntryType = EventLogEntryType.SuccessAudit; break; default: LogEntryType = EventLogEntryType.SuccessAudit; break; EventLog eventLog = new EventLog(Application, ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName ); /寫入事件日志 eventLog.WriteEntry(messageText, LogEntryType); catch /忽略任何異常 /class ApplicationLog 12.Panel 橫向滾動,縱向自動擴(kuò)展 asp:panel style=overflow-x:scroll;overflow-y:auto;/asp:panel 13.回車轉(zhuǎn)換成Tab script language=javascript for=document event=onkeydown if(event.keyCode=13 & event.srcElement.type!=button & event.srcElement.type!=submit & event.srcElement.type!=reset & event.srcElement.type!=& event.srcElement.type!=textarea); event.keyCode=9; /script onkeydown=if(event.keyCode=13) event.keyCode=9 14.DataGrid超級連接列 DataNavigateUrlField=字段名 DataNavigateUrlFormatString=http:/xx/inc/delete.aspx?ID=0 15.DataGrid行隨鼠標(biāo)變色 private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) if (e.Item.ItemType!=ListItemType.Header) e.Item.Attributes.Add( onmouseout,this.style.backgroundColor=+e.Item.StyleBACKGROUND-COLOR+); e.Item.Attributes.Add( onmouseover,this.style.backgroundColor=+ #EFF3F7+); Top回復(fù)人:yanglilibaobao() ( ) 信譽(yù):1002006-12-5 13:30:16得分:0?16.模板列 ASP:TEMPLATECOLUMN visible=False sortexpression=demo headertext=ID ITEMTEMPLATE ASP:LABEL text=%# DataBinder.Eval(Container.DataItem, ArticleID)% runat=server width=80% id=lblColumn / /ITEMTEMPLATE /ASP:TEMPLATECOLUMN ASP:TEMPLATECOLUMN headertext=選中 HEADERSTYLE wrap=False horizontalalign=Center/HEADERSTYLE ITEMTEMPLATE ASP:CHECKBOX id=chkExport runat=server / /ITEMTEMPLATE EDITITEMTEMPLATE ASP:CHECKBOX id=chkExportON runat=server enabled=true / /EDITITEMTEMPLATE /ASP:TEMPLATECOLUMN 后臺代碼 protected void CheckAll_CheckedChanged(object sender, System.EventArgs e) /改變列的選定,實現(xiàn)全選或全不選。 CheckBox chkExport ; if( CheckAll.Checked) foreach(DataGridItem oDataGridItem in MyDataGrid.Items) chkExport = (CheckBox)oDataGridItem.FindControl(chkExport); chkExport.Checked = true; else foreach(DataGridItem oDataGridItem in MyDataGrid.Items) chkExport = (CheckBox)oDataGridItem.FindControl(chkExport); chkExport.Checked = false; 17.數(shù)字格式化 【%#Container.DataItem(price)%的結(jié)果是500.0000,怎樣格式化為500.00?】 %#Container.DataItem(price,0:¥#,#0.00)% int i=123456; string s=i.ToString(#,#.00); 18.日期格式化 【aspx頁面內(nèi):%# DataBinder.Eval(Container.DataItem,Company_Ureg_Date)% 顯示為: 2004-8-11 19:44:28 我只想要:2004-8-11 】 %# DataBinder.Eval(Container.DataItem,Company_Ureg_Date,0:yyyy-M-d)% 應(yīng)該如何改? 【格式化日期】 取出來,一般是object(DateTime)objectFromDB).ToString(yyyy-MM-dd); 【日期的驗證表達(dá)式】 A.以下正確的輸入格式: 2004-2-29, 2004-02-29 10:29:39 pm, 2004/12/31 (d2(02468048)|(1357926)-/s?(0?13578)|(102)-/s?(0?1-9)|(1-20-9)|(301)|(0?469)|(11)-/s?(0?1-9)|(1-20-9)|(30)|(0?2-/s?(0?1-9)|(1-20-9)|(d2(024681235679)|(1357901345789)-/s?(0?13578)|(102)-/s?(0?1-9)|(1-20-9)|(301)|(0?469)|(11)-/s?(0?1-9)|(1-20-9)|(30)|(0?2-/s?(0?1-9)|(10-9)|(20-8)(s(0?1-9)|(10-2):(0-50-9)(s)|(:(0-50-9)s)(AM|PM|am|pm2,2)?$ B.以下正確的輸入格式:0001-12-31, 9999 09 30, 2002/03/03 d4-/s?(013578)|(102)-/s?(0-20-9)|(301)|(0469)|(11)-/s?(0-20-9)|(30)|(02-/s?0-20-9)$ 【大小寫轉(zhuǎn)換】 HttpUtility.HtmlEncode(string); HttpUtility.HtmlDecode(string) 19.如何設(shè)定全局變量 Global.asax中 Application_Start()事件中 添加Application屬性名 xxx; 就是你的全局變量 20.怎樣作到HyperLinkColumn生成的連接后,點擊連接,打開新窗口? HyperLinkColumn有個屬性Target,將器值設(shè)置成_blank即可.(Target=_blank) 【ASPNETMENU】點擊菜單項彈出新窗口 在你的menuData.xml文件的菜單項中加入URLTarget=_blank,如: ?xml version=1.0 encoding=GB2312? MenuData ImagesBaseURL=images/ MenuGroup MenuItem Label=內(nèi)參信息 URL=Infomation.aspx MenuGroup ID=BBC MenuItem Label=公告信息 URL=Infomation.aspx URLTarget=_blank LeftIcon=file.gif/ MenuItem Label=編制信息簡報 URL=NewInfo.aspx LeftIcon=file.gif / . 最好將你的aspnetmenu升級到1.2版 21.讀取DataGrid控件TextBox值 foreach(DataGrid dgi in yourDataGrid.Items) TextBox tb = (TextBox)dgi.FindControl(yourTextBoxId); tb.Text. 23.在DataGrid中有3個模板列包含Textbox分別為 DG_ShuLiang (數(shù)量) DG_DanJian(單價) DG_JinE(金額)分別在5.6.7列,要求在錄入數(shù)量及單價的時候自動算出金額即:數(shù)量*單價=金額還要求錄入時限制為 數(shù)值型.我如何用客戶端腳本實現(xiàn)這個功能? 思?xì)w asp:TemplateColumn HeaderText=數(shù)量 ItemTemplate asp:TextBox id=ShuLiang runat=server Text=%# DataBinder.Eval(Container.DataItem,DG_ShuLiang)% onkeyup=javascript:DoCal() / asp:RegularExpressionValidator id=revS runat=server ControlToValidate=ShuLiang ErrorMessage=must be integer ValidationExpression=d+$ / /ItemTemplate /asp:TemplateColumn asp:TemplateColumn HeaderText=單價 ItemTemplate asp:TextBox id=DanJian runat=server Text=%# DataBinder.Eval(Container.DataItem,DG_DanJian)% onkeyup=javascript:DoCal() / asp:RegularExpressionValidator id=revS2 runat=server ControlToValidate=DanJian ErrorMessage=must be numeric ValidationExpression=d+(.d*)?$ / /ItemTemplate /asp:TemplateColumn asp:TemplateColumn HeaderText=金額 ItemTemplate asp:TextBox id=JinE runat=server Text=%# DataBinder.Eval(Container.DataItem,DG_JinE)% / /ItemTemplate /asp:TemplateColumnscript language=javascript function DoCal() var e = event.srcElement; var row = e.parentNode.parentNode; var txts = row.all.tags(INPUT); if (!txts.length | txts.length 3) return; var q = txtstxts.length-3.value; var p = txtstxts.length-2.value; if (isNaN(q) | isNaN(p) return; q = parseInt(q); p = parseFloat(p); txtstxts.length-1.value = (q * p).toFixed(2); /script 24.datagrid選定比較底下的行時,為什么總是刷新一下,然后就滾動到了最上面,剛才選定的行因屏幕的關(guān)系就看不到了。 page_load page.smartNavigation=true 25.在Datagrid中修改數(shù)據(jù),當(dāng)點擊編輯鍵時,數(shù)據(jù)出現(xiàn)在文本框中,怎么控制文本框的大小 ? private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e) for(int i=0;ie.Item.Cells.Count-1;i+) if(e.Item.ItemType=ListItemType.EditType) e.Item.Cellsi.Attributes.Add(Width, 80px) 26.對話框 private static string ScriptBegin = script language=JavaScript; private static string ScriptEnd = /script; public static void ConfirmMessageBox(string PageTarget,string Content) string ConfirmContent=var retValue=window.confirm(+Content+);+if(retValue)window.location=+PageTarget+; ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd; Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler; ParameterPage.RegisterStartupScript(confirm,ConfirmContent); /Response.Write(strScript); 27. 將時間格式化:string aa=DateTime.Now.ToString(yyyy年MM月dd日); 1.1 取當(dāng)前年月日時分秒 currentTime=System.DateTime.Now; 1.2 取當(dāng)前年 int 年= DateTime.Now.Year; 1.3 取當(dāng)前月 int 月= DateTime.Now.Month; 1.4 取當(dāng)前日 int 日= DateTime.Now.Day; 1.5 取當(dāng)前時 int 時= DateTime.Now.Hour; 1.6 取當(dāng)前分 int 分= DateTime.Now.Minute; 1.7 取當(dāng)前秒 int 秒= DateTime.Now.Second; 1.8 取當(dāng)前毫秒 int 毫秒= DateTime.Now.Millisecond; Top回復(fù)人:yanglilibaobao() ( ) 信譽(yù):1002006-12-5 13:30:54得分:0?28自定義分頁代碼: 先定義變量 : public static int pageCount; /總頁面數(shù) public static int curPageIndex=1; /當(dāng)前頁面 下一頁: if(DataGrid1.CurrentPageIndex (DataGrid1.PageCount - 1) DataGrid1.CurrentPageIndex += 1; curPageIndex+=1; bind(); / DataGrid1數(shù)據(jù)綁定函數(shù) 上一頁: if(DataGrid1.CurrentPageIndex 0) DataGrid1.CurrentPageIndex += 1; curPageIndex-=1; bind(); / DataGrid1數(shù)據(jù)綁定函數(shù) 直接頁面跳轉(zhuǎn): int a=int.Parse(JumpPage.Value.Trim();/JumpPage.Value.Trim()為跳轉(zhuǎn)值 if(aDataGrid1.PageCount) this.DataGrid1.CurrentPageIndex=a; bind(); 29DataGrid使用: 添加刪除確認(rèn): private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) foreach(DataGridItem di in this.DataGrid1.Items) if(di.ItemType=ListItemType.Item|di.ItemType=ListItemType.AlternatingItem) (LinkButton)di.Cells8.Controls0).Attributes.Add(onclick,return confirm(確認(rèn)刪除此項嗎?);); 樣式交替: ListItemType itemType = e.Item.ItemType; if (itemType = ListItemType.Item ) e.Item.Attributesonmouseout = javascript:this.style.backgroundColor=#FFFFFF; e.Item.Attributesonmouseover = javascript:this.style.backgroundColor=#d9ece1;cursor=hand; ; else if( itemType = ListItemType.AlternatingItem) e.Item.Attributesonmouseout = javascript:this.style.backgroundColor=#a0d7c4; e.Item.Attributesonmouseover = javascript:this.style.backgroundColor=#d9ece1;cursor=hand; ; 添加一個編號列: DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); /執(zhí)行sql返回的DataTable DataColumn dc=dt.Columns.Add(number,System.Type.GetType(System.String); for(int i=0;idt.Rows.Count;i+) dt.Rowsinumber=(i+1).ToString(); DataGrid1.DataSource=dt; DataGrid1.DataBind(); DataGrid1中添加一個CheckBox,頁面中添加一個全選框 private void CheckBox2_CheckedChanged(object sender, System.EventArgs e) foreach(DataGridItem thisitem in DataGrid1.Items) (CheckBox)thisitem.Cells0.Controls1).Checked=CheckBox2.Checked; 將當(dāng)前頁面中DataGrid1顯示的數(shù)據(jù)全部刪除 foreach(DataGridItem thisitem in DataGrid1.Items) if(CheckBox)thisitem.Cells0.Controls1).Checked) string strloginid= DataGrid1.DataKeysthisitem.ItemIndex.ToString(); Del (strloginid); /刪除函數(shù) 30當(dāng)文件在不同目錄下,需要獲取數(shù)據(jù)庫連接字符串(如果連接字符串放在Web.config,然后在Global.asax中初始化) 在Application_Start中添加以下代碼: ApplicationConnStr=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings. AppSettingsConnStr.ToString(); 31 變量.ToString() 字符型轉(zhuǎn)換 轉(zhuǎn)為字符串 12345.ToString(n); /生成 12,345.00 12345.ToStri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論