Aspnet开发必备51种代码非常实用.docx

上传人:b****6 文档编号:4957638 上传时间:2022-12-12 格式:DOCX 页数:25 大小:25.79KB
下载 相关 举报
Aspnet开发必备51种代码非常实用.docx_第1页
第1页 / 共25页
Aspnet开发必备51种代码非常实用.docx_第2页
第2页 / 共25页
Aspnet开发必备51种代码非常实用.docx_第3页
第3页 / 共25页
Aspnet开发必备51种代码非常实用.docx_第4页
第4页 / 共25页
Aspnet开发必备51种代码非常实用.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Aspnet开发必备51种代码非常实用.docx

《Aspnet开发必备51种代码非常实用.docx》由会员分享,可在线阅读,更多相关《Aspnet开发必备51种代码非常实用.docx(25页珍藏版)》请在冰豆网上搜索。

Aspnet开发必备51种代码非常实用.docx

Aspnet开发必备51种代码非常实用

1.//弹出对话框.点击转向指定页面

Response.Write("");

Response.Write("");

2.//弹出对话框

Response.Write("alert('产品添加成功!

')");

3.//删除文件

stringfilename="157517.jpg";

"../file/")+filename);

4.//绑定下拉列表框datalist

dv=conn.Exec_ex("select-1ascode,'请选择经营模式'ascontentfromdealinunionselectcode,contentfromdealin");

;

"content";

"code";

;

"dealincode"].ToString()).Selected=true;

5.//时间去秒显示

<%#,"begtime").ToString()).ToShortDateString()%>

6.//标题带链接

<%#""+DataBinder.Eval(Container.DataItem,"proname")+""%>

7.//修改转向

<%#"

id="+DataBinder.Eval(Container.DataItem,"code")+"\">"+"修改"+""%>

8.//弹出确定按钮

<%#"

');\"href=\"pushproduct.aspx?

dl="+DataBinder.Eval(Container.DataItem,"code")+"\">"+"删除"+""%>

9.//输出数据格式化"{0:

F2}"是格式F2表示小数点后剩两位

<%#DataBinder.Eval(Container,"DataItem.PriceMoney","{0:

F2}")%>

10.//提取动态网页内容

Uriuri=newUri("");

WebRequestreq=WebRequest.Create(uri);

WebResponseresp=req.GetResponse();

Streamstr=resp.GetResponseStream();

StreamReadersr=newStreamReader(str,;

stringt=sr.ReadToEnd();

;

11.//获取"."后面的字符

i.ToString().Trim().Substring(i.ToString().Trim().LastIndexOf(".")+1).ToLower().Trim()

12.打开新的窗口并传送参数:

  传送参数:

response.write("<script>window.open(’*.aspx?

id="+"&id1="+...+"’)</script>")

接收参数:

stringa=Request.QueryString("id");

stringb=Request.QueryString("id1");

12.为按钮添加对话框

"onclick","returnconfirm(’确认?

’)");

"onclick","if(confirm(’areyousure...?

’)){returntrue;}else{returnfalse;}")

13.删除表格选定记录

intintEmpID=(int)MyDataGrid.DataKeys[;

stringdeleteCmd="DeletefromEmployeewhereemp_id="+intEmpID.ToString()

14.删除表格记录警告

privatevoidDataGrid_ItemCreated(Objectsender,DataGridItemEventArgse)

{

  switch(

  {

  caseListItemType.Item:

  caseListItemType.AlternatingItem:

  caseListItemType.EditItem:

  TableCellmyTableCell;

  myTableCell=;

  LinkButtonmyDeleteButton;

  myDeleteButton=(LinkButton)myTableCell.Controls[0];

  "onclick","returnconfirm(’您是否确定要删除这条信息’);");

  break;

  default:

  break;

  }

}

15.点击表格行链接另一页

privatevoidgrdCustomer_ItemDataBound(objectsender,e)

{

  //点击表格打开

  if(==ListItemType.Item||==ListItemType.AlternatingItem)

  "onclick","window.open(’Default.aspx?

id="++"’);");

}

双击表格连接到另一页

  在itemDataBind事件中

if(==ListItemType.Item||==ListItemType.AlternatingItem)

{

  stringorderItemID=;

  "ondblclick","location.href=’../ShippedGrid.aspx?

id="+orderItemID+"’");

}

双击表格打开新一页

if(==ListItemType.Item||==ListItemType.AlternatingItem)

{

  stringorderItemID=;

  "ondblclick","open(’../ShippedGrid.aspx?

id="+orderItemID+"’)");

}

16.表格超连接列传递参数

<asp:

HyperLinkColumnTarget="_blank"headertext="ID号"DataTextField="id"NavigateUrl="aaa.aspx?

id=’

  <%#DataBinder.Eval(Container.DataItem,"数据字段1")%>’&name=’<%#DataBinder.Eval(Container.DataItem,"数据字段2")%>’/>

17.表格点击改变颜色

if(==ListItemType.Item||==ListItemType.AlternatingItem)

{

  "onclick",";

   ;;");

}

写在DataGrid的_ItemDataBound里

if(==ListItemType.Item||==ListItemType.AlternatingItem)

{

"onmouseover",";

  ;;");

"onmouseout",";;");

}

18.关于日期格式

  日期格式设定

DataFormatString="{0:

yyyy-MM-dd}"

  我觉得应该在itembound事件中

"你的列"].text=DateTime.Parse("你的列"].text.ToString("yyyy-MM-dd"))

19.获取错误信息并到指定页面

不要使用Response.Redirect,而应该使用Server.Transfer

  e.g

//inglobal.asax

protectedvoidApplication_Error(Objectsender,EventArgse){

if(Server.GetLastError()isHttpUnhandledException)

Server.Transfer("MyErrorPage.aspx");

//其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了:

}

  Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理

20.清空Cookie

Cookie.Expires=[DateTime];

Response.Cookies("UserName").Expires=0

21.自定义异常处理

//自定义异常处理类

usingSystem;

usingSystem.Diagnostics;

namespaceMyAppException

{

  ///<summary>

  ///从系统异常类ApplicationException继承的应用程序异常处理类。

  ///自动将异常内容记录到WindowsNT/2000的应用程序日志

  ///</summary>

  publicclassAppException:

System.ApplicationException

  {

  publicAppException()

  {

  if(ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知错误。

");

  }

  publicAppException(stringmessage)

  {

  LogEvent(message);

  }

  publicAppException(stringmessage,ExceptioninnerException)

  {

  LogEvent(message);

  if(innerException!

=null)

  {

  LogEvent(innerException.Message);

  }

  }

  //日志记录类

  usingSystem;

  usingSystem.Configuration;

  usingSystem.Diagnostics;

  usingSystem.IO;

  usingSystem.Text;

  usingSystem.Threading;

  namespaceMyEventLog

  {

  ///<summary>

  ///事件日志记录类,提供事件日志记录支持

  ///<remarks>

  ///定义了4个日志记录方法(error,warning,info,trace)

  ///</remarks>

  ///</summary>

  publicclassApplicationLog

  {

  ///<summary>

  ///将错误信息记录到Win2000/NT事件日志中

  ///<paramname="message">需要记录的文本信息</param>

  ///</summary>

  publicstaticvoidWriteError(Stringmessage)

  {

  WriteLog(TraceLevel.Error,message);

  }

  ///<summary>

  ///将警告信息记录到Win2000/NT事件日志中

  ///<paramname="message">需要记录的文本信息</param>

  ///</summary>

  publicstaticvoidWriteWarning(Stringmessage)

  {

  WriteLog(TraceLevel.Warning,message);  

  }

  ///<summary>

  ///将提示信息记录到Win2000/NT事件日志中

  ///<paramname="message">需要记录的文本信息</param>

  ///</summary>

  publicstaticvoidWriteInfo(Stringmessage)

  {

  WriteLog(TraceLevel.Info,message);

  }

  ///<summary>

  ///将跟踪信息记录到Win2000/NT事件日志中

  ///<paramname="message">需要记录的文本信息</param>

  ///</summary>

  publicstaticvoidWriteTrace(Stringmessage)

  {

  WriteLog(TraceLevel.Verbose,message);

  }

  ///<summary>

  ///格式化记录到事件日志的文本信息格式

  ///<paramname="ex">需要格式化的异常对象</param>

  ///<paramname="catchInfo">异常信息标题字符串.</param>

  ///<retvalue>

  ///<para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>

  ///</retvalue>

  ///</summary>

  publicstaticStringFormatException(Exceptionex,StringcatchInfo)

  {

  StringBuilderstrBuilder=newStringBuilder();

  if(catchInfo!

=String.Empty)

  {

  strBuilder.Append(catchInfo).Append("\r\n");

  }

  strBuilder.Append(ex.Message).Append("\r\n").Append(ex.StackTrace);

  returnstrBuilder.ToString();

  }

  ///<summary>

  ///实际事件日志写入方法

  ///<paramname="level">要记录信息的级别(error,warning,info,trace).</param>

  ///<paramname="messageText">要记录的文本.</param>

  ///</summary>

  privatestaticvoidWriteLog(TraceLevellevel,StringmessageText)

  {

  try

  {

  EventLogEntryTypeLogEntryType;

  switch(level)

  {

  caseTraceLevel.Error:

  LogEntryType=EventLogEntryType.Error;

  break;

  caseTraceLevel.Warning:

  LogEntryType=EventLogEntryType.Warning;

  break;

  caseTraceLevel.Info:

  LogEntryType=EventLogEntryType.Information;

  break;

  caseTraceLevel.Verbose:

  LogEntryType=EventLogEntryType.SuccessAudit;

  break;

  default:

  LogEntryType=EventLogEntryType.SuccessAudit;

  break;

  }

  EventLogeventLog=newEventLog("Application",ApplicationConfiguration.EventLogMachineName,ApplicationConfiguration.EventLogSourceName);

  //写入事件日志

  eventLog.WriteEntry(messageText,LogEntryType);

  }

  catch{}//忽略任何异常

  }

  }//classApplicationLog

}

22.Panel横向滚动,纵向自动扩展

<asp:

panelstyle="overflow-x:

scroll;overflow-y:

auto;"></asp:

panel>

23.回车转换成Tab

(1)

<scriptlanguage="javascript"for="document"event="onkeydown">

  if(event.keyCode==13&&&&&&    &&;

  event.keyCode=9;

</script>

(2)//当在有keydown事件的控件上敲回车时,变为tab

publicvoidTab(System.Web.UI.WebControls.WebControlwebcontrol)

{

webcontrol.Attributes.Add("onkeydown","if(event.keyCode==13)event.keyCode=9");

}

24.DataGrid超级连接列

DataNavigateUrlField="字段名"DataNavigateUrlFormatString=""

25.DataGrid行随鼠标变色

privatevoidDGzf_ItemDataBound(objectsender,e)

{

  if(

  {

  "onmouseout","""+"BACKGROUND-COLOR"]+"\"");

  "onmouseover","""+"#EFF3F7"+"\"");

  }

}

26.模板列

<ASP:

TEMPLATECOLUMNvisible="False"sortexpression="demo"headertext="ID">

<ITEMTEMPLATE>

<ASPLABELtext=’<%#DataBinder.Eval(Container.DataItem,"ArticleID")%>’runat="server"width="80%"id="lblColumn"/>

</ITEMTEMPLATE>

</ASP:

TEMPLATECOLUMN>

<ASP:

TEMPLATECOLUMNheadertext="选中">

<HEADERSTYLEwrap="False"horiz></HEADERSTYLE>

<ITEMTEMPLATE>

<ASP:

CHECKBOXid="chkExport"runat="server"/>

</ITEMTEMPLATE>

<EDITITEMTEMPLATE>

<ASP:

CHECKBOXid="chkExportON"runat="server"enabled="true"/>

</EDITITEMTEMPLATE>

</ASP:

TEMPLATECOLUMN>

后台代码

protectedvoidCheckAll_CheckedChanged(objectsender,System.EventArgse)

{

  //改变列的选定,实现全选或全不选。

  CheckBoxchkExport;

  if(CheckAll.Checked)

  {

  foreach(DataGridItemoDataGridIteminMyDataGrid.Items)

  {

  chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");

  chkExport.Checked=true;

  }

  }

  else

  {

  foreach(DataGridItemoDataGridIteminMyDataGrid.Items)

  {

  chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");

  chkExport.Checked=false;

  }

  }

}

27.数字格式化

【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?

<%#Container.DataItem("price","{0:

¥#,##0.00}")%>

inti=123456;

strings=i.ToString("###,###.00");

28.日期格式化

  【aspx页面内:

<%#DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>

  显示为:

2004-8-1119:

44:

28

  我只想要:

2004-8-11】

<%#DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:

yyyy-M-d}")%>

  应该如何改?

  【格式化日期】

  取出来,一般是object((DateTime)objectFromDB).ToString("yyyy-MM-dd");

  【日期的验证表达式】

  A.以下正确的输入格式:

[2004-2-29],[2004-02-2910:

29:

39pm],[2004/12/31]

^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?

((((0?

[13578])|(1[02]))[\-\/\s]?

((0?

[1-9])|([1-2][0-9])|(3[01])))|(((0?

[469])|(11))[\-\/\s]?

((0?

[1-9])|([1-2][0-9])|(30)))|(0?

2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1