ASP.NET程序中常用代码汇总(四)
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET程序中常用代码汇总(四)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
31. 當文件在不同目錄下,需要獲取數據庫連接字符串(如果連接字符串放在Web.config,然后在Global.asax中初始化)
在Application_Start中添加以下代碼: Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.
AppSettings["ConnStr"].ToString();
32.變量.ToString()
字符型轉換 轉為字符串
12345.ToString("n");?//生成?12,345.00?
12345.ToString("C");?//生成?¥12,345.00?
12345.ToString("e");?//生成?1.234500e+004?
12345.ToString("f4");?//生成?12345.0000?
12345.ToString("x");?//生成?3039?(16進制)?
12345.ToString("p");?//生成?1,234,500.00%?
33.變量.Substring(參數1,參數2);
截取字串的一部分,參數1為左起始位數,參數2為截取幾位。 如:string s1 = str.Substring(0,2);
34.在自己的網站上登陸其他網站:(如果你的頁面是通過嵌套方式的話,因為一個頁面只能有一個FORM,這時可以導向另外一個頁面再提交登陸信息)
<SCRIPT?language="javascript">?
<!--?
function?gook(pws)?
{?
frm.submit();?
}?
//-->?
</SCRIPT>?<body?leftMargin="0"?topMargin="0"?οnlοad="javascript:gook()"?marginwidth="0"?marginheight="0">?
<form?name="frm"?action="?http://220.194.55.68:6080/login.php?retid=7259?"?method="post">?
<tr>?
<td>
<input?id="f_user"?type="hidden"?size="1"?name="f_user"?runat="server">
<input?id="f_domain"?type="hidden"?size="1"?name="f_domain"?runat="server">
<input?class="box"?id="f_pass"?type="hidden"?size="1"?name="pwshow"?runat="server">?
<INPUT?id="lng"?type="hidden"?maxLength="20"?size="1"?value="5"?name="lng">
<INPUT?id="tem"?type="hidden"?size="1"?value="2"?name="tem">?
</td>?
</tr>?
</form>?
文本框的名稱必須是你要登陸的網頁上的名稱,如果源碼不行可以用vsniffer 看看。
下面是獲取用戶輸入的登陸信息的代碼:
string?name;?
name=Request.QueryString["EmailName"];?
try?
{?
int?a=name.IndexOf("@",0,name.Length);?
f_user.Value=name.Substring(0,a);?
f_domain.Value=name.Substring(a+1,name.Length-(a+1));?
f_pass.Value=Request.QueryString["Psw"];?
}?
catch?
{?
Script.Alert("錯誤的郵箱!");?
Server.Transfer("index.aspx");?
}
35.警告窗口 /**////?<summary>?
?///?服務器端彈出alert對話框?
?///?</summary>?
?///?<param?name="str_Message">提示信息,例子:"不能為空!"</param>?
?///?<param?name="page">Page類</param>?
?public?void?Alert(string?str_Message,Page?page)?
?{?
??page.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");?
?}?
36.重載此警告窗口,使某控件獲得焦點
/**////?<summary>?
?///?服務器端彈出alert對話框,并使控件獲得焦點?
?///?</summary>?
?///?<param?name="str_Ctl_Name">獲得焦點控件Id值,比如:txt_Name</param>?
?///?<param?name="str_Message">提示信息,例子:"請輸入您姓名!"</param>?
?///?<param?name="page">Page類</param>?
?public?void?Alert(string?str_Ctl_Name,string?str_Message,Page?page)?
?{?
??page.RegisterStartupScript("","<script>alert('"+str_Message+"');document.forms(0)."+str_Ctl_Name+".focus();?document.forms(0)."+str_Ctl_Name+".select();</script>");?
?}?
37.確認對話框
/**////?<summary>?
?///?服務器端彈出confirm對話框?
?///?</summary>?
?///?<param?name="str_Message">提示信息,例子:"您是否確認刪除!"</param>?
?///?<param?name="btn">隱藏Botton按鈕Id值,比如:btn_Flow</param>?
?///?<param?name="page">Page類</param>?
?public?void?Confirm(string?str_Message,string?btn,Page?page)?
?{?
??page.RegisterStartupScript("","<script>?if?(confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");?
?}?
38.重載確認對話框,點擊確定觸發一個隱藏按鈕事件,點擊取消觸發一個隱藏按鈕事件
/**////?<summary>?
?///??服務器端彈出confirm對話框,詢問用戶準備轉向那些操作,包括“確定”和“取消”時的操作?
?///?</summary>?
?///?<param?name="str_Message">提示信息,比如:"成功增加數據,單擊\"確定\"按鈕填寫流程,單擊\"取消\"修改數據"</param>?
?///?<param?name="btn_Redirect_Flow">"確定"按鈕id值</param>?
?///?<param?name="btn_Redirect_Self">"取消"按鈕id值</param>?
?///?<param?name="page">Page類</param>?
?public?void?Confirm(string?str_Message,string?btn_Redirect_Flow,string?btn_Redirect_Self,Page?page)?
?{?
??page.RegisterStartupScript("","<script>?if?(confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");?
?}?
39.獲得焦點
/**////?<summary>?
?///?使控件獲得焦點?
?///?</summary>?
?///?<param?name="str_Ctl_Name">獲得焦點控件Id值,比如:txt_Name</param>?
?///?<param?name="page">Page類</param>?
?public?void?GetFocus(string?str_Ctl_Name,Page?page)?
?{?
??page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus();?document.forms(0)."+str_Ctl_Name+".select();</script>");?
?}?
40.子窗體返回主窗體
?/**////<summary>?
?///名稱:redirect?
?///功能:子窗體返回主窗體?
?///參數:url?
?///返回值:空?
?///</summary>?
?public?void?redirect(string?url,Page?page)?
?{?
??if?(?Session["IfDefault"]!=(object)"Default")?
??{?????
???page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");?
??}?
?}?
整理了一些常用的.NET代碼,貼出來供大家參考,并希望我們一起搜集更多的內容。
一、為GridView添加索引列 <asp:TemplateField?HeaderText="ID">
????????????????????????????<ItemTemplate>
????????????????????????????????<%#?Container.DataItemIndex?+1?%>
????????????????????????????</ItemTemplate>
</asp:TemplateField>
二、批量刪除列
模板列代碼:
<asp:TemplateField?HeaderText="選擇">
????????????????????????????<ItemTemplate>
????????????????????????????????<asp:CheckBox?ID="chkSelect"?runat="server"?/>
????????????????????????????</ItemTemplate>
</asp:TemplateField> 全選: for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????chkSelect.Checked?=?true;
????????} 反選: for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????chkSelect.Checked?=?!chkSelect.Checked;
????????} 取消選擇:
for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????chkSelect.Checked?=?false;
????????} 刪除:
for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????if?(chkSelect.Checked)
????????????{
????????????????//刪除記錄
????????????}
????????}
三、刪除表格選定記錄 int?id?=?(int)MyDataGrid.DataKeys[e.Item.ItemIndex];?//在調用前必須指定DataKeyNames屬性為要獲取
的主鍵。
string?deleteCmd?=?"DELETE?from?Employee?where?emp_id?=?"?+?intEmpID.ToString();
四、為按鈕添加確認對話框
button.Attributes.Add("onclick","return?confirm(’確認?’)");?
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.Cells[0].Text?+?"
’);");?
}?
六、超連接列傳遞參數
<asp:HyperLinkColumn?Target="_blank"?headertext="ID號"?DataTextField="id"?
NavigateUrl="aaa.aspx?id=’?
<%#?DataBinder.Eval(Container.DataItem,?"數據字段1")%>’?&?name=’<%#?DataBinder.Eval
(Container.DataItem,?"數據字段2")%>’?/>?
七、綁定日期格式
e.items.cell["time"].text=DateTime.Parse(e.items.cell["time"].text.ToString("yyyy-MM-dd"))?
八、統一捕獲異常 Global.asax中:
protected?void?Application_Error(Object?sender,?EventArgs?e)?{?
if?(Server.GetLastError()?is?HttpUnhandledException)?
Server.Transfer("MyErrorPage.aspx");?
//編寫添加到日志的代碼Log.add();
}?
九、自定義異常處理 using?System;?
using?System.Diagnostics;?
namespace?MyAppException?
{?
/**////?<summary>?
///?從系統異常類ApplicationException繼承的應用程序異常處理類。?
///?自動將異常內容記錄到Windows?NT/2000的應用程序日志?
///?</summary>?
public?class?AppException:System.ApplicationException?
{?
public?AppException()?
{?
if?(ApplicationConfiguration.EventLogEnabled)LogEvent("出現一個未知錯誤。");?
}?
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">異常信息標題字符串.</param>?
///?<retvalue>?
///?<para>格式后的異常信息字符串,包括異常內容和跟蹤堆棧.</para>?
///?</retvalue>?
///?</summary>?
public?static?String?FormatException(Exception?ex,?String?catchInfo)?
{?
StringBuilder?strBuilder?=?new?StringBuilder();?
if?(catchInfo?!=?String.Empty)?
{?
strBuilder.Append(catchInfo).Append("\r\n");?
}?
strBuilder.Append(ex.Message).Append("\r\n").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?
}?
十、Panel 橫向滾動,縱向自動擴展 <asp:panel?style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
十一、DataGrid行隨鼠標變色 private?void?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.Style
["BACKGROUND-COLOR"]+"\"");?
e.Item.Attributes.Add(?"onmouseover","this.style.backgroundColor=\""+?"#EEE6F8"+"\"");?
}?
}?
十二、讀取DataGrid控件的TextBox值 foreach(DataGrid?dgi?in?yourDataGrid.Items)?
{?
TextBox?tb?=?(TextBox)dgi.FindControl("yourTextBoxId");?
tb.Text.?
}?
十三、當點擊編輯鍵時,控制文本框的大小 private?void?DataGrid1_ItemDataBound(obj?sender,DataGridItemEventArgs?e)?
{?
for(int?i=0;i<e.Item.Cells.Count-1;i++)?
if(e.Item.ItemType==ListItemType.EditType)?
{?
e.Item.Cells[i].Attributes.Add("Width",?"80px")?
}?
}?
十四、彈出對話框 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);?
}?
在Application_Start中添加以下代碼: Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.
AppSettings["ConnStr"].ToString();
32.變量.ToString()
字符型轉換 轉為字符串
12345.ToString("n");?//生成?12,345.00?
12345.ToString("C");?//生成?¥12,345.00?
12345.ToString("e");?//生成?1.234500e+004?
12345.ToString("f4");?//生成?12345.0000?
12345.ToString("x");?//生成?3039?(16進制)?
12345.ToString("p");?//生成?1,234,500.00%?
33.變量.Substring(參數1,參數2);
截取字串的一部分,參數1為左起始位數,參數2為截取幾位。 如:string s1 = str.Substring(0,2);
34.在自己的網站上登陸其他網站:(如果你的頁面是通過嵌套方式的話,因為一個頁面只能有一個FORM,這時可以導向另外一個頁面再提交登陸信息)
<SCRIPT?language="javascript">?
<!--?
function?gook(pws)?
{?
frm.submit();?
}?
//-->?
</SCRIPT>?<body?leftMargin="0"?topMargin="0"?οnlοad="javascript:gook()"?marginwidth="0"?marginheight="0">?
<form?name="frm"?action="?http://220.194.55.68:6080/login.php?retid=7259?"?method="post">?
<tr>?
<td>
<input?id="f_user"?type="hidden"?size="1"?name="f_user"?runat="server">
<input?id="f_domain"?type="hidden"?size="1"?name="f_domain"?runat="server">
<input?class="box"?id="f_pass"?type="hidden"?size="1"?name="pwshow"?runat="server">?
<INPUT?id="lng"?type="hidden"?maxLength="20"?size="1"?value="5"?name="lng">
<INPUT?id="tem"?type="hidden"?size="1"?value="2"?name="tem">?
</td>?
</tr>?
</form>?
文本框的名稱必須是你要登陸的網頁上的名稱,如果源碼不行可以用vsniffer 看看。
下面是獲取用戶輸入的登陸信息的代碼:
string?name;?
name=Request.QueryString["EmailName"];?
try?
{?
int?a=name.IndexOf("@",0,name.Length);?
f_user.Value=name.Substring(0,a);?
f_domain.Value=name.Substring(a+1,name.Length-(a+1));?
f_pass.Value=Request.QueryString["Psw"];?
}?
catch?
{?
Script.Alert("錯誤的郵箱!");?
Server.Transfer("index.aspx");?
}
35.警告窗口 /**////?<summary>?
?///?服務器端彈出alert對話框?
?///?</summary>?
?///?<param?name="str_Message">提示信息,例子:"不能為空!"</param>?
?///?<param?name="page">Page類</param>?
?public?void?Alert(string?str_Message,Page?page)?
?{?
??page.RegisterStartupScript("","<script>alert('"+str_Message+"');</script>");?
?}?
36.重載此警告窗口,使某控件獲得焦點
/**////?<summary>?
?///?服務器端彈出alert對話框,并使控件獲得焦點?
?///?</summary>?
?///?<param?name="str_Ctl_Name">獲得焦點控件Id值,比如:txt_Name</param>?
?///?<param?name="str_Message">提示信息,例子:"請輸入您姓名!"</param>?
?///?<param?name="page">Page類</param>?
?public?void?Alert(string?str_Ctl_Name,string?str_Message,Page?page)?
?{?
??page.RegisterStartupScript("","<script>alert('"+str_Message+"');document.forms(0)."+str_Ctl_Name+".focus();?document.forms(0)."+str_Ctl_Name+".select();</script>");?
?}?
37.確認對話框
/**////?<summary>?
?///?服務器端彈出confirm對話框?
?///?</summary>?
?///?<param?name="str_Message">提示信息,例子:"您是否確認刪除!"</param>?
?///?<param?name="btn">隱藏Botton按鈕Id值,比如:btn_Flow</param>?
?///?<param?name="page">Page類</param>?
?public?void?Confirm(string?str_Message,string?btn,Page?page)?
?{?
??page.RegisterStartupScript("","<script>?if?(confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");?
?}?
38.重載確認對話框,點擊確定觸發一個隱藏按鈕事件,點擊取消觸發一個隱藏按鈕事件
/**////?<summary>?
?///??服務器端彈出confirm對話框,詢問用戶準備轉向那些操作,包括“確定”和“取消”時的操作?
?///?</summary>?
?///?<param?name="str_Message">提示信息,比如:"成功增加數據,單擊\"確定\"按鈕填寫流程,單擊\"取消\"修改數據"</param>?
?///?<param?name="btn_Redirect_Flow">"確定"按鈕id值</param>?
?///?<param?name="btn_Redirect_Self">"取消"按鈕id值</param>?
?///?<param?name="page">Page類</param>?
?public?void?Confirm(string?str_Message,string?btn_Redirect_Flow,string?btn_Redirect_Self,Page?page)?
?{?
??page.RegisterStartupScript("","<script>?if?(confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");?
?}?
39.獲得焦點
/**////?<summary>?
?///?使控件獲得焦點?
?///?</summary>?
?///?<param?name="str_Ctl_Name">獲得焦點控件Id值,比如:txt_Name</param>?
?///?<param?name="page">Page類</param>?
?public?void?GetFocus(string?str_Ctl_Name,Page?page)?
?{?
??page.RegisterStartupScript("","<script>document.forms(0)."+str_Ctl_Name+".focus();?document.forms(0)."+str_Ctl_Name+".select();</script>");?
?}?
40.子窗體返回主窗體
?/**////<summary>?
?///名稱:redirect?
?///功能:子窗體返回主窗體?
?///參數:url?
?///返回值:空?
?///</summary>?
?public?void?redirect(string?url,Page?page)?
?{?
??if?(?Session["IfDefault"]!=(object)"Default")?
??{?????
???page.RegisterStartupScript("","<script>window.top.document.location.href='"+url+"';</script>");?
??}?
?}?
整理了一些常用的.NET代碼,貼出來供大家參考,并希望我們一起搜集更多的內容。
一、為GridView添加索引列 <asp:TemplateField?HeaderText="ID">
????????????????????????????<ItemTemplate>
????????????????????????????????<%#?Container.DataItemIndex?+1?%>
????????????????????????????</ItemTemplate>
</asp:TemplateField>
二、批量刪除列
模板列代碼:
<asp:TemplateField?HeaderText="選擇">
????????????????????????????<ItemTemplate>
????????????????????????????????<asp:CheckBox?ID="chkSelect"?runat="server"?/>
????????????????????????????</ItemTemplate>
</asp:TemplateField> 全選: for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????chkSelect.Checked?=?true;
????????} 反選: for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????chkSelect.Checked?=?!chkSelect.Checked;
????????} 取消選擇:
for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????chkSelect.Checked?=?false;
????????} 刪除:
for?(int?i?=?0;?i?<?gv.Rows.Count;?i++)
????????{
????????????CheckBox?chkSelect?=?(CheckBox)gv.Rows[i].FindControl("chkSelect");
????????????if?(chkSelect.Checked)
????????????{
????????????????//刪除記錄
????????????}
????????}
三、刪除表格選定記錄 int?id?=?(int)MyDataGrid.DataKeys[e.Item.ItemIndex];?//在調用前必須指定DataKeyNames屬性為要獲取
的主鍵。
string?deleteCmd?=?"DELETE?from?Employee?where?emp_id?=?"?+?intEmpID.ToString();
四、為按鈕添加確認對話框
button.Attributes.Add("onclick","return?confirm(’確認?’)");?
五、點擊表格行鏈接另一頁
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.Cells[0].Text?+?"
’);");?
}?
六、超連接列傳遞參數
<asp:HyperLinkColumn?Target="_blank"?headertext="ID號"?DataTextField="id"?
NavigateUrl="aaa.aspx?id=’?
<%#?DataBinder.Eval(Container.DataItem,?"數據字段1")%>’?&?name=’<%#?DataBinder.Eval
(Container.DataItem,?"數據字段2")%>’?/>?
七、綁定日期格式
e.items.cell["time"].text=DateTime.Parse(e.items.cell["time"].text.ToString("yyyy-MM-dd"))?
八、統一捕獲異常 Global.asax中:
protected?void?Application_Error(Object?sender,?EventArgs?e)?{?
if?(Server.GetLastError()?is?HttpUnhandledException)?
Server.Transfer("MyErrorPage.aspx");?
//編寫添加到日志的代碼Log.add();
}?
九、自定義異常處理 using?System;?
using?System.Diagnostics;?
namespace?MyAppException?
{?
/**////?<summary>?
///?從系統異常類ApplicationException繼承的應用程序異常處理類。?
///?自動將異常內容記錄到Windows?NT/2000的應用程序日志?
///?</summary>?
public?class?AppException:System.ApplicationException?
{?
public?AppException()?
{?
if?(ApplicationConfiguration.EventLogEnabled)LogEvent("出現一個未知錯誤。");?
}?
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">異常信息標題字符串.</param>?
///?<retvalue>?
///?<para>格式后的異常信息字符串,包括異常內容和跟蹤堆棧.</para>?
///?</retvalue>?
///?</summary>?
public?static?String?FormatException(Exception?ex,?String?catchInfo)?
{?
StringBuilder?strBuilder?=?new?StringBuilder();?
if?(catchInfo?!=?String.Empty)?
{?
strBuilder.Append(catchInfo).Append("\r\n");?
}?
strBuilder.Append(ex.Message).Append("\r\n").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?
}?
十、Panel 橫向滾動,縱向自動擴展 <asp:panel?style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
十一、DataGrid行隨鼠標變色 private?void?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.Style
["BACKGROUND-COLOR"]+"\"");?
e.Item.Attributes.Add(?"onmouseover","this.style.backgroundColor=\""+?"#EEE6F8"+"\"");?
}?
}?
十二、讀取DataGrid控件的TextBox值 foreach(DataGrid?dgi?in?yourDataGrid.Items)?
{?
TextBox?tb?=?(TextBox)dgi.FindControl("yourTextBoxId");?
tb.Text.?
}?
十三、當點擊編輯鍵時,控制文本框的大小 private?void?DataGrid1_ItemDataBound(obj?sender,DataGridItemEventArgs?e)?
{?
for(int?i=0;i<e.Item.Cells.Count-1;i++)?
if(e.Item.ItemType==ListItemType.EditType)?
{?
e.Item.Cells[i].Attributes.Add("Width",?"80px")?
}?
}?
十四、彈出對話框 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);?
}?
轉載于:https://www.cnblogs.com/ghd258/archive/2005/11/06/270034.html
總結
以上是生活随笔為你收集整理的ASP.NET程序中常用代码汇总(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ADOQuery代替ClientData
- 下一篇: 奇怪的问题,.Net 2.0发送邮件失败