程序中常用的种代码_asp.net教程-查字典教程网
程序中常用的种代码
程序中常用的种代码
发布时间:2016-12-29 来源:查字典编辑
摘要:1.打开新的窗口并传送参数:传送参数:response.write("<script>window.open('*.aspx?id="+th...

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

传送参数:

response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>")

接收参数:

stringa=Request.QueryString("id");

stringb=Request.QueryString("id1");

2.为按钮添加对话框

Button1.Attributes.Add("onclick","returnconfirm('确认?')");

button.attributes.add("onclick","if(confirm('areyousure...?')){returntrue;}else{returnfalse;}")

3.删除表格选定记录

intintEmpID=(int)MyDataGrid.DataKeys[e.Item.ItemIndex];

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

4.删除表格记录警告

privatevoidDataGrid_ItemCreated(Objectsender,DataGridItemEventArgse)

{

switch(e.Item.ItemType)

{

caseListItemType.Item:

caseListItemType.AlternatingItem:

caseListItemType.EditItem:

TableCellmyTableCell;

myTableCell=e.Item.Cells[14];

LinkButtonmyDeleteButton;

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

myDeleteButton.Attributes.Add("onclick","returnconfirm('您是否确定要删除这条信息');");

break;

default:

break;

}

}

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

privatevoidgrdCustomer_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)

{

//点击表格打开

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

e.Item.Attributes.Add("onclick","window.open('Default.aspx?id="+e.Item.Cells[0].Text+"');");

}

双击表格连接到另一页

在itemDataBind事件中

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

{

stringOrderItemID=e.item.cells[1].Text;

...

e.item.Attributes.Add("ondblclick","location.href='../ShippedGrid.aspx?id="+OrderItemID+"'");

}

双击表格打开新一页

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

{

stringOrderItemID=e.item.cells[1].Text;

...

e.item.Attributes.Add("ondblclick","open('../ShippedGrid.aspx?id="+OrderItemID+"')");

}

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

<asp:HyperLinkColumnTarget="_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.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.关于日期格式

日期格式设定

DataFormatString="{0:yyyy-MM-dd}"

我觉得应该在itembound事件中

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

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

不要使用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的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理

10.清空Cookie

Cookie.Expires=[DateTime];

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

11.自定义异常处理

//自定义异常处理类

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("rn");

}

strBuilder.Append(ex.Message).Append("rn").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

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类