ASPNET程序中常用的三十三种代码_第1页
ASPNET程序中常用的三十三种代码_第2页
ASPNET程序中常用的三十三种代码_第3页
ASPNET程序中常用的三十三种代码_第4页
ASPNET程序中常用的三十三种代码_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ASP.NET程序中常用的三十三种代码(收集)1打开新的窗口并传送参数:12为按钮添加对话框23删除表格选定记录24删除表格记录警告25点击表格行链接另一页36表格超连接列传递参数37表格点击改变颜色48关于日期格式49获取错误信息并到指定页面410清空Cookie511自定义异常处理512Panel 横向滚动,纵向自动扩展913回车转换成Tab914DataGrid超级连接列915DataGrid行随鼠标变色916模板列1017数字格式化1118日期格式化1119如何设定全局变量1220怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口?1221读取DataGrid控件

2、TextBox值1323自动模板列计算:在录入数量及单价的时候自动算出金额1324datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。1425在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?1426对话框1527将时间格式化:string aa=DateTime.Now.ToString("yyyy年MM月dd日");1528自定义分页代码:1629DataGrid使用:1630当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在G

3、lobal.asax中初始化)1831变量.ToString()1832变量.Substring(参数1,参数2);1933在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个FORM,这时可以导向另外一个页面再提交登陆信息)191打开新的窗口并传送参数: 传送参数:response.write("scriptwindow.open(*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+.+")/script"); /response.write(

4、"");接收参数:string a = Request.QueryString("id");string b = Request.QueryString("id1");2为按钮添加对话框Button1.Attributes.Add("onclick","return confirm(确认?)");button.attributes.add("onclick","if(confirm(are you sure.?)return true;elsereturn fals

5、e;")3删除表格选定记录int intEmpID = (int)MyDataGrid.DataKeyse.Item.ItemIndex; /e参见下一例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 :c

6、ase 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:bre

7、ak;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

8、.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 +

9、 "");双击表格打开新一页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 + ")");6表格超连接列传递参数asp:HyperLinkColumn

10、Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=%# DataBinder.Eval(Container.DataItem, "数据字段1")% & name=%# DataBinder.Eval(Container.DataItem, "数据字段2")% /7表格点击改变颜色if (e.Item.ItemType = ListItemType.Item |e.Item.I

11、temType = 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

12、)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关于日期格式日期格式设定DataFormatString="0:yyyy-MM

13、-dd"我觉得应该在itembound事件中e.items.cell"你的列".text=DateTime.Parse(e.items.cell"你的列".text.ToString("yyyy-MM-dd")9获取错误信息并到指定页面不要使用Response.Redirect,而应该使用Server.Transfere.g/ in global.asaxprotected void Application_Error(Object sender, EventArgs e) if (Server.GetLastError()

14、 is HttpUnhandledException)Server.Transfer("MyErrorPage.aspx");/其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)Redirect会导致postback的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 10清空CookieCookie.Expires=DateTime;Response.Cookies("UserName").Expires = 011自定义异常处理/自定义异常

15、处理类 using System;using System.Diagnostics;namespace MyAppException/ summary/ 从系统异常类ApplicationException继承的应用程序异常处理类。/ 自动将异常内容记录到Windows NT/2000的应用程序日志/ /summarypublic class AppException:System.ApplicationExceptionpublic AppException()if (ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知

16、错误。");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 Syste

17、m.Text;using System.Threading;namespace MyEventLog/ summary/ 事件日志记录类,提供事件日志记录支持 / remarks/ 定义了4个日志记录方法 (error, warning, info, trace) / /remarks/ /summarypublic class ApplicationLog/ summary/ 将错误信息记录到Win2000/NT事件日志中/ param name="message"需要记录的文本信息/param/ /summarypublic static void WriteError

18、(String message)WriteLog(TraceLevel.Error, message);/ summary/ 将警告信息记录到Win2000/NT事件日志中/ param name="message"需要记录的文本信息/param/ /summarypublic static void WriteWarning(String message)WriteLog(TraceLevel.Warning, message);/ summary/ 将提示信息记录到Win2000/NT事件日志中/ param name="message"需要记录的文

19、本信息/param/ /summarypublic static void WriteInfo(String message)WriteLog(TraceLevel.Info, message);/ summary/ 将跟踪信息记录到Win2000/NT事件日志中/ param name="message"需要记录的文本信息/param/ /summarypublic static void WriteTrace(String message)WriteLog(TraceLevel.Verbose, message);/ summary/ 格式化记录到事件日志的文本信息格式

20、/ param name="ex"需要格式化的异常对象/param/ param name="catchInfo"异常信息标题字符串./param/ retvalue/ para格式后的异常信息字符串,包括异常内容和跟踪堆栈./para/ /retvalue/ /summarypublic static String FormatException(Exception ex, String catchInfo)StringBuilder strBuilder = new StringBuilder();if (catchInfo != String.Em

21、pty)strBuilder.Append(catchInfo).Append("rn"); /相似于Java中的StringBufferstrBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);return strBuilder.ToString();/ summary/ 实际事件日志写入方法/ param name="level"要记录信息的级别(error,warning,info,trace)./param/ param name="messag

22、eText"要记录的文本./param/ /summaryprivate 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 TraceLev

23、el.Info:LogEntryType = EventLogEntryType.Information;break;case TraceLevel.Verbose:LogEntryType = EventLogEntryType.SuccessAudit;break;default:LogEntryType = EventLogEntryType.SuccessAudit;break;EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, A

24、pplicationConfiguration.EventLogSourceName );/写入事件日志eventLog.WriteEntry(messageText, LogEntryType);catch /忽略任何异常 /class ApplicationLog12Panel 横向滚动,纵向自动扩展asp:panel style="overflow-x:scroll;overflow-y:auto;"/asp:panel13回车转换成Tab event.keyCode = 13 是回车;event.keyCode = 9 是换行。script language=&qu

25、ot;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) e

26、vent.keyCode=9;/scriptonkeydown="if(event.keyCode=13) event.keyCode = 9"14DataGrid超级连接列DataNavigateUrlField="字段名" DataNavigateUrlFormatString="http:/xx/inc/delete.aspx?ID=0" /这里应该是通配符15DataGrid行随鼠标变色private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControl

27、s.DataGridItemEventArgs e)if (e.Item.ItemType != ListItemType.Header)e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=""+e.Item.Style"BACKGROUND-COLOR"+"""); /鼠标移出 e.Item.Attributes.Add( "onmouseover","this.style.backgro

28、undColor=""+ "#EFF3F7"+"""); /鼠标移入16模板列ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID"ITEMTEMPLATEASP:LABEL text=%# DataBinder.Eval(Container.DataItem, "ArticleID")% runat="server" width=&qu

29、ot;80%" id="lblColumn" /ITEMTEMPLATE/ASP:TEMPLATECOLUMNASP:TEMPLATECOLUMN headertext="选中"HEADERSTYLE wrap="False" horizontalalign="Center"/HEADERSTYLEITEMTEMPLATEASP:CHECKBOX id="chkExport" runat="server" /ITEMTEMPLATEEDITITEMTEMPLATEA

30、SP:CHECKBOX id="chkExportON" runat="server" enabled="true" /EDITITEMTEMPLATE/ASP:TEMPLATECOLUMN后台代码protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)/改变列的选定,实现全选或全不选。CheckBox chkExport ;if( CheckAll.Checked)foreach(DataGridItem oDataGridItem in My

31、DataGrid.Items)chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");chkExport.Checked = true;elseforeach(DataGridItem oDataGridItem in MyDataGrid.Items)chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");chkExport.Checked = false;17数字格式化【%#Container.DataItem(&quo

32、t;price")%的结果是500.0000,怎样格式化为500.00?】%#Container.DataItem("price","0:¥#,#0.00")%int i=123456;string s=i.ToString("#,#.00");18日期格式化【aspx页面内:%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%显示为: 2004-8-11 19:44:28我只想要:2004-8-11 】%# DataBinder.Eval

33、(Container.DataItem,"Company_Ureg_Date","0:yyyy-M-d")%应该如何改?【格式化日期】取出来,一般是object(DateTime)objectFromDB).ToString("yyyy-MM-dd");【日期的验证表达式】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?46

34、9)|(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, 2

35、002/03/03 d4-/s?(013578)|(102)-/s?(0-20-9)|(301)|(0469)|(11)-/s?(0-20-9)|(30)|(02-/s?0-20-9)$ 【大小写转换】HttpUtility.HtmlEncode(string);HttpUtility.HtmlDecode(string);19如何设定全局变量Global.asax中Application_Start()事件中添加Application属性名 xxx;就是你的全局变量20怎样做到HyperLinkColumn生成的连接后,点击连接,打开新窗口?HyperLinkColumn有个属性Target

36、,将其值设置成"_blank"即可.(Target="_blank")【ASPNETMENU】点击菜单项弹出新窗口在你的menuData.xml文件的菜单项中加入URLTarget="_blank",如:?xml version="1.0" encoding="GB2312"?MenuData ImagesBaseURL="images/" MenuGroupMenuItem Label="内参信息" URL="Infomation.aspx&q

37、uot; 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值forea

38、ch(DataGrid dgi in yourDataGrid.Items)TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");tb.Text.23自动模板列计算:在录入数量及单价的时候自动算出金额在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能?思归asp:TemplateColumn

39、HeaderText="数量" ItemTemplateasp:TextBox id="ShuLiang" runat=server Text=%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")% onkeyup="javascript:DoCal()"/asp:RegularExpressionValidator id="revS" runat="server" ControlToValidate="ShuLi

40、ang" ErrorMessage="must be integer" ValidationExpression="d+$" /ItemTemplate/asp:TemplateColumnasp:TemplateColumn HeaderText="单价" ItemTemplateasp:TextBox id="DanJian" runat=server Text=%# DataBinder.Eval(Container.DataItem,"DG_DanJian")% onkeyup

41、="javascript:DoCal()"/asp:RegularExpressionValidator id="revS2" runat="server" ControlToValidate="DanJian" ErrorMessage="must be numeric" ValidationExpression="d+(.d*)?$" /ItemTemplate/asp:TemplateColumnasp:TemplateColumn HeaderText="金

42、额" ItemTemplateasp: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(&

43、quot;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);/script24datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。pag

44、e_load page.smartNavigation=true25在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ? 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对话

45、框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+");"+&quo

46、t;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=

47、DateTime.Now.ToString("yyyy年MM月dd日"); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now;1.2 取当前年 int 年= DateTime.Now.Year;1.3 取当前月 int 月= DateTime.Now.Month; 1.4 取当前日 int 日= DateTime.Now.Day; 1.5 取当前时 int 时= DateTime.Now.Hour; 1.6 取当前分 int 分= DateTime.Now.Minute; 1.7 取当前秒 int 秒= DateTime.Now.S

48、econd; 1.8 取当前毫秒 int 毫秒= DateTime.Now.Millisecond; 28自定义分页代码:先定义变量 :public static int pageCount; /总页面数 public static int curPageIndex=1; /当前页面 下一页: if(DataGrid1.CurrentPageIndex (DataGrid1.PageCount - 1) DataGrid1.CurrentPageIndex += 1; curPageIndex+=1; bind(); / DataGrid1数据绑定函数 上一页: if(DataGrid1.Cu

49、rrentPageIndex 0) DataGrid1.CurrentPageIndex += 1; curPageIndex-=1; bind(); / DataGrid1数据绑定函数 直接页面跳转: int a=int.Parse(JumpPage.Value.Trim();/JumpPage.Value.Trim()为跳转值 if(aDataGrid1.PageCount) this.DataGrid1.CurrentPageIndex=a; bind(); 29DataGrid使用: 添加删除确认: private void DataGrid1_ItemCreated(object s

50、ender, 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(确认删除此项吗?);"); 样式交替: List

51、ItemType itemType = e.Item.ItemType; if (itemType = ListItemType.Item ) e.Item.Attributes"onmouseout" = "javascript:this.style.backgroundColor=#FFFFFF;" e.Item.Attributes"onmouseover" = "javascript:this.style.backgroundColor=#d9ece1;cursor=hand;" ; else if( it

52、emType = ListItemType.AlternatingItem) e.Item.Attributes"onmouseout" = "javascript:this.style.backgroundColor=#a0d7c4;" e.Item.Attributes"onmouseover" = "javascript:this.style.backgroundColor=#d9ece1;cursor=hand;" ; 添加一个编号列: DataTable dt= c.ExecuteRtnTableForA

53、ccess(sqltxt); /执行sql返回的DataTable DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String"); for(int i=0;idt.Rows.Count;i+) dt.Rowsi"number"=(i+1).ToString(); DataGrid1.DataSource=dt; DataGrid1.DataBind(); DataGrid1中添加一个CheckBox,页面中添加一个全选框 private void

54、CheckBox2_CheckedChanged(object sender, System.EventArgs e) foreach(DataGridItem thisitem in DataGrid1.Items) (CheckBox)thisitem.Cells0.Controls1).Checked=CheckBox2.Checked; 将当前页面中DataGrid1显示的数据全部删除 foreach(DataGridItem thisitem in DataGrid1.Items) if(CheckBox)thisitem.Cells0.Controls1).Checked) str

55、ing strloginid= DataGrid1.DataKeysthisitem.ItemIndex.ToString(); Del (strloginid); /删除函数 30当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化) 在Application_Start中添加以下代码: Application"ConnStr"=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.AppSettings"ConnStr".ToString();31变量.ToString() 字符型转换 转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论