cari
Rumahpembangunan bahagian belakangTutorial C#.NetASP.NET中常用的种代码实例解析

ASP.NET中常用的种代码实例解析

Apr 26, 2017 am 10:53 AM
asp.net

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

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

接收参数:

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;}else{return false;}")

3.删除表格选定记录

int intEmpID = (int)MyDataGrid.DataKeys[e.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.Cells[14]; 
   LinkButton myDeleteButton ; 
   myDeleteButton = (LinkButton)myTableCell.Controls[0]; 
   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.Cells[0].Text + "');"); 
} 
双击表格连接到另一页 
在itemDataBind事件中 
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
{ 
 string OrderItemID =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) 
{ 
 string OrderItemID =e.item.cells[1].Text; 
 ... 
 e.item.Attributes.Add("ondblclick", "open('../ShippedGrid.aspx?id=" + OrderItemID + "')"); 
}

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

<asp:HyperLinkColumn 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.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

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

10.清空Cookie

Cookie.Expires=[DateTime]; 
Response.Cookies("UserName").Expires = 0

11.自定义异常处理

//自定义异常处理类  
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 
}

Atas ialah kandungan terperinci ASP.NET中常用的种代码实例解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
C# dan runtime .net: bagaimana mereka bekerjasamaC# dan runtime .net: bagaimana mereka bekerjasamaApr 19, 2025 am 12:04 AM

C# dan .NET Runtime bekerjasama rapat untuk memperkasakan pemaju untuk keupayaan pembangunan yang cekap, kuat dan silang platform. 1) C# adalah bahasa pengaturcaraan yang berorientasikan objek dan berorientasikan objek yang direka untuk mengintegrasikan dengan lancar dengan rangka .NET. 2) Runtime NET menguruskan pelaksanaan kod C#, menyediakan pengumpulan sampah, keselamatan jenis dan perkhidmatan lain, dan memastikan operasi yang cekap dan silang platform.

C# .NET Development: Panduan Pemula untuk BermulaC# .NET Development: Panduan Pemula untuk BermulaApr 18, 2025 am 12:17 AM

Untuk memulakan C# .NET Development, anda perlu: 1. Memahami pengetahuan asas C# dan konsep teras Rangka Kerja NET; 2. Menguasai konsep asas pembolehubah, jenis data, struktur kawalan, fungsi dan kelas; 3. Belajar ciri -ciri canggih C#, seperti LINQ dan pengaturcaraan asynchronous; 4. Berkenaan dengan teknik debugging dan kaedah pengoptimuman prestasi untuk kesilapan biasa. Dengan langkah -langkah ini, anda secara beransur -ansur boleh menembusi dunia C#.net dan menulis aplikasi yang cekap.

C# dan .net: memahami hubungan antara kedua -duaC# dan .net: memahami hubungan antara kedua -duaApr 17, 2025 am 12:07 AM

Hubungan antara C# dan .NET tidak dapat dipisahkan, tetapi mereka bukan perkara yang sama. C# adalah bahasa pengaturcaraan, sementara .NET adalah platform pembangunan. C# digunakan untuk menulis kod, menyusun bahasa pertengahan .NET (IL), dan dilaksanakan oleh Runtime .NET (CLR).

Relevan berterusan C# .NET: Lihat penggunaan semasaRelevan berterusan C# .NET: Lihat penggunaan semasaApr 16, 2025 am 12:07 AM

C#.NET masih penting kerana ia menyediakan alat dan perpustakaan yang kuat yang menyokong pelbagai pembangunan aplikasi. 1) C# menggabungkan rangka kerja NET untuk menjadikan pembangunan cekap dan mudah. 2) Mekanisme keselamatan dan sampah jenis C#meningkatkan kelebihannya. 3) .NET menyediakan persekitaran berjalan lintas platform dan API yang kaya, meningkatkan fleksibiliti pembangunan.

Dari web ke desktop: fleksibiliti C# .netDari web ke desktop: fleksibiliti C# .netApr 15, 2025 am 12:07 AM

C#.netisversatileforbothwebanddesktopdevelopment.1) Forweb, useasp.netfordynamicapplications.2) Fordesktop, ExployWindowsFormsor Wpfforrichinterfaces.3) UseXamarinforcross-platformdevelopment, enablingcodesharingacrosswindows, macOS, linux, andmobiledevices.

C# .NET dan Masa Depan: Mengadaptasi Teknologi BaruC# .NET dan Masa Depan: Mengadaptasi Teknologi BaruApr 14, 2025 am 12:06 AM

C# dan .NET menyesuaikan diri dengan keperluan teknologi baru melalui kemas kini dan pengoptimuman berterusan. 1) C# 9.0 dan .NET5 Memperkenalkan jenis rekod dan pengoptimuman prestasi. 2) .Netcore meningkatkan sokongan asli dan kontena awan. 3) ASP.Netcore mengintegrasikan dengan teknologi web moden. 4) ML.NET menyokong pembelajaran mesin dan kecerdasan buatan. 5) Pengaturcaraan Asynchronous dan Amalan Terbaik meningkatkan prestasi.

Adakah C# .net sesuai untuk anda? Menilai kebolehgunaannyaAdakah C# .net sesuai untuk anda? Menilai kebolehgunaannyaApr 13, 2025 am 12:03 AM

C#.netissusuitibleforenterprise-levelapplicationswithinthememicrosoftecosystemduetoitsstrongtyping, richlibraries, androbustperformance.

C# kod dalam .NET: Meneroka proses pengaturcaraanC# kod dalam .NET: Meneroka proses pengaturcaraanApr 12, 2025 am 12:02 AM

Proses pengaturcaraan C# dalam .NET termasuk langkah -langkah berikut: 1) Menulis C# Code, 2) Menyusun bahasa pertengahan (IL), dan 3) yang dilaksanakan oleh Runtime .NET (CLR). Kelebihan C# dalam .NET adalah sintaks moden, sistem jenis yang kuat dan integrasi yang ketat dengan Rangka Kerja .NET, sesuai untuk pelbagai senario pembangunan dari aplikasi desktop ke perkhidmatan web.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa