1. Open a new window and send parameters:
Send parameters:
response.write("<script>window.open
('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</ script>")
receives parameters:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. Add a dialog box to the button
Button1.Attributes.Add("onclick","return confirm('confirm?')");
button.attributes.add("onclick","if(confirm('are you sure?'))
{return true;}else{return false;}")
3. Delete the form Selected record
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4. Delete table record warning
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('Are you sure you want to delete this information');");
break;
default:
break;
}
}
5. Click the table row link Another page
private void grdCustomer_ItemDataBound
(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//Click the table to open
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 + "');");
}
Double-click the table connection Go to another page, in the itemDataBind event
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 + "'");
}
Double-click the table to open a new page
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 + "')");
}
★Special note: [?id=] cannot be [? id =】
6. Pass parameters for table hyperlink columns
<asp:HyperLinkColumn Target="_blank" headertext="ID number" DataTextField="id"
NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "Data Field 1")%>'
& name='<%# DataBinder.Eval(Container.DataItem, "Data Field 2")%>' />
7. Click on the table to change the color
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';");
}
Write in _ItemDataBound of DataGrid
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. Regarding the date format,
the date format setting
DataformatString="{0:yyyy-MM-dd}"
I think it should be in the itembound event
e.items.cell["your column"].text=DateTime.Parse(e .items.cell["your column"].text.ToString("yyyy-MM-dd"))
9. To get the error message and go to the specified page,
do not use Response.Redirect, but use Server.Transfer
eg
// in global.asax
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//The rest of the non-HttpUnhandledException exceptions will be handled by ASP.NET itself.
}
Redirect will cause the generation of post-back and lose the error information, so the page guidance should be executed directly on the server side, so that the error information can be obtained on the error processing page and processed accordingly
10. Clear Cookie
Cookie.Expires=[DateTime ];
Response.Cookies("UserName").Expires = 0
11. Custom exception handling
// Custom exception handling class
using System;
using System.Diagnostics;
namespace MyAppException
{
/**//// <summary>
/// Application exception handling class inherited from the system exception class ApplicationException.
/// Automatically record exception content to the application log of Windows NT/2000
/// </summary>
public class AppException:System.ApplicationException
{
publicAppException()
{
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 class, providing event logging support
/// <remarks>
/// Defines 4 logging methods (error, warning, info, trace)
/// </remarks>
/// </summary>
public class ApplicationLog
{
/**//// <summary>
/// Record error information to the Win2000/NT event log
/// <param name="message">Text information to be recorded</param>
/// </summary>
public static void WriteError(String message)
{
WriteLog(TraceLevel.Error, message);
}
/**//// <summary>
/// Record warning information to the Win2000/NT event log
/// <param name="message">Text information to be recorded</param>
/// </summary>
public static void WriteWarning(String message)
{
WriteLog(TraceLevel.Warning, message);
}
/**//// <summary>
/// Record the prompt information into the Win2000/NT event log
/// <param name="message">Text information to be recorded</param>
/// </summary>
public static void WriteInfo(String message)
{
WriteLog(TraceLevel.Info, message);
}
/**//// <summary>
/// Record tracing information to the Win2000/NT event log
/// <param name="message">Text information to be recorded</param>
/// </summary>
public static void WriteTrace(String message)
{
WriteLog(TraceLevel.Verbose, message);
}
/**//// <summary>
/// Format the text information format recorded to the event log
/// <param name="ex">Exception object that needs to be formatted</param>
/// <param name="catchInfo">Exception information title string.</param>
/// <retvalue>
/// <para>Formatted exception information string, including exception content and 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("rn");
}
strBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);
return strBuilder.ToString();
}
/**//// <summary>
/// Actual event log writing method
/// <param name="level">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 );
//write event log
eventLog.WriteEntry(messageText, LogEntryType);
}
catch {} //Ignore any exceptions
}
} //class ApplicationLog
}
12. Panel scrolls horizontally and automatically expands vertically
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Enter to convert to Tab
<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>
onkeydown="if(event.keyCode==13) event.keyCode=9"
http://dotnet.aspx.cc/exam/enter2tab.aspx
14.DataGrid super connection column
DataNavigateUrlField="Field name" DataNavigateUrlformatString =" http://xx/inc/delete.aspx?ID={0 }"
15.DataGrid rows change color with the 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"+""");
}
}
16. Template column
<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="check">
<HEADERstyle wrap="False" horizontalalign="Center"></HEADERstyle>
<ITEMTEMPLATE>
<ASP:CHECKBOX id="chkExport" runat="server" />
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<ASP:CHECKBOX id="chkExportON" runat="server" enabled="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
Backend code
protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)
{
//Change the selection of columns to select all or none.
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;
}
}
}
17. Number formatting
[The result of <%#Container.DataItem("price")%> is 500.0000, how to format it to 500.00?]
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
int i=123456;
string s=i.ToString("###,###.00");
18. Date formatting
[In aspx page: <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
Displayed as: 2004-8-11 19:44:28
I just want: 2004-8-11]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
How should I change it?
[Format date]
Take it out, usually object
((DateTime)objectFromDB).ToString("yyyy-MM-dd");
[Validation expression for date]
A. The following correct input format: [2004-2-29], [2004-02-29 10:29:39 pm], [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[-/s]?((0?[1-9])|([1-2][ 0-9])))))|(d{2}(([02468]
[1235679])|([13579][01345789]))[-/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[-/s]?((0?[1-9])|(1[0-9] )|(2[0-8]))))))
(s(((0?[1-9])|(1[0-2])):([0-5][0-9])((s)|(:([0 -5][0-9])s))
([AM|PM|am|pm]{2,2})))?$
B. The following correct input format: [0001-12-31], [9999 09 30], [2002/03/03]
^ d{4}[-/s]?((((0[13578])|(1[02]))[-/s]?(([0-2][0- 9])|(3[01])))|
(((0[469])|(11))[-/s]?(([0-2][0-9])|(30)))|(02[-/ s]?[0-2][0-9]))$
[Case conversion]
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. How to set the global variable
Global.asax in the Application_Start() event and add Application[attribute name] = xxx;
It is your global variable
20. How to make the connection generated by HyperLinkColumn click on the connection to open a new window?
HyperLinkColumn has an attribute Target, just set the value to "_blank". (Target="_blank")
[ASPNETMENU] Click on the menu item to pop up a new window. Add URLTarget="_blank" to the menu item in your menuData.xml file.
For example:
<?xml version="1.0" encoding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<MenuGroup>
<MenuItem Label="Internal parameter information" URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label="Announcement Information" URL="Infomation.aspx"
URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="Prepare information briefing" URL="NewInfo.aspx" LeftIcon="file.gif" />
It is best to upgrade your aspnetmenu to version 1.2