1.Panel horizontal scrolling, vertical automatic expansion
<asp:panel style= "Overflow-x:scroll;overflow-y:auto;" > </asp:panel>
2. Return to Tab
(1)
<script language= "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 ');
event.keycode=9;
</script>
(2)///When you hit enter on a control with a KeyDown event, change to tab
public void Tab (system.web. Ui. WebControls. WebControl WebControl)
{
WebControl. Attributes. ADD ("onkeydown", "if (event.keycode==13) event.keycode=9");
}
3.DataGrid Super Connection column
datanavigateurlfield= "field name" Datanavigateurlformatstring= "http://xx/inc/delete.aspx?id={0}"
4. Custom Exception Handling
Custom Exception Handling Classes
Using System;
Using System.Diagnostics;
Namespace Myappexception
{
<summary>
ApplicationException an inherited application exception handling class from the system exception class.
Automatically logs exception content to the Windows nt/2000 Application log
</summary>
public class AppException:System.ApplicationException
{
Public Appexception ()
{
if (applicationconfiguration.eventlogenabled) LogEvent ("An unknown error occurred.") ");
}
Public appexception (String message)
{
LogEvent (message);
}
Public appexception (String message,exception innerexception)
{
LogEvent (message);
if (innerexception!= null)
{
LogEvent (Innerexception.message);
}
}
Logging class
Using System;
Using System.Configuration;
Using System.Diagnostics;
Using System.IO;
Using System.Text;
Using System.Threading;
Namespace MyEventLog
{
<summary>
Event logging classes, providing event logging support
<remarks>
Defines 4 logging methods (Error, warning, info, trace)
</remarks>
</summary>
public class Applicationlog
{
<summary>
Log error messages to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writeerror (String message)
{
Writelog (tracelevel.error, message);
}
<summary>
Log warning messages to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writewarning (String message)
{
Writelog (tracelevel.warning, message);
}
<summary>
To log a hint to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writeinfo (String message)
{
Writelog (tracelevel.info, message);
}
<summary>
Log trace information to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writetrace (String message)
{
Writelog (tracelevel.verbose, message);
}
<summary>
Format text information that is logged to the event log
<param name= "Ex" the exception object that needs to be formatted </param>
<param name= "Catchinfo" > exception message header string. </param>
<retvalue>
The <para> the formatted exception information string, including the exception content and the trace stack. </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>
Actual Event Log Write method
<param name= the level of information to be recorded (Error,warning,info,trace). </param>
<param name= "MessageText" > text to be recorded. </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);
Writing to the event log
EventLog.WriteEntry (MessageText, Logentrytype);
}
Catch {}//ignore any exceptions
}
}//class Applicationlog
}
5.DataGrid line changes color with mouse
private void Dgzf_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=\" "+" #EFF3F7 "+" ");
}
}
6. Template Columns
<asp:templatecolumn visible= "False" sortexpression= "Demo"
Headertext= "ID" >
<ITEMTEMPLATE>
<asp LABEL text= ' <%# databinder.eval (Container.DataItem,
"ArticleID")%> ' runat= "server" width= "80%"
Id= "Lblcolumn"/>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<asp:templatecolumn headertext= "selected" >
<ITEMTEMPLATE>
<asp:checkbox id= "Chkexport" runat= "Server"/>
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<asp:checkbox id= "Chkexporton" runat= "Server"
Enabled= "true"/>
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
Background code
protected void Checkall_checkedchanged (object sender, System.EventArgs e)
{
Change the selection of columns to achieve either a full or a full selection.
CheckBox Chkexport;
if (checkall.checked)
{
foreach (DataGridItem odatagriditem in Mydatagrid.items)
{
Chkexport = (checkbox) Odatagriditem.findcontrol ("Chkexport");
Chkexport.checked = true;
}
}
Else
{
foreach (DataGridItem odatagriditem in Mydatagrid.items)
{
Chkexport = (checkbox) Odatagriditem.findcontrol ("Chkexport");
chkexport.checked = false;
}
}
}