1. Öffnen Sie ein neues Fenster und senden Sie Parameter:
Parameter senden:
Response.write("<script>window.open
('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</ script>")
erhält Parameter:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. Fügen Sie ein Dialogfeld zur Schaltfläche hinzu
Button1.Attributes.Add("onclick", "return secure('confirm?')");
button.attributes.add("onclick","if(confirm('are you secure?'))
{return true;}else{return false;}")
3. Löschen Sie den ausgewählten Datensatz im Formular
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4. Tabellendatensatzwarnung löschen
private void DataGrid_ItemCreated(Object sender, DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case
ListItemType.EditItem:
TableCell myTableCell
= e.Item.Cells[14];
LinkButton myDeleteButton
; LinkButton) myTableCell.Controls[0];
myDeleteButton.Attributes.Add
(„onclick“,
„return activate(‘Sind Sie sicher, dass Sie diese Informationen löschen möchten‘);
“
5.
Klicken
Sie
auf the table row link Another page
private void grdCustomer_ItemDataBound
(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//Klicken Sie auf die Tabelle, um sie zu öffnen
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 + "');") ;
}
Doppelklicken Sie auf die Tabellenverbindung. Gehen Sie zu einer anderen Seite im itemDataBind-Ereignis
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item. Zellen[1].Text;
e.item.Attributes.Add("ondblclick",
"location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'" }
Doppelklicken
Sie auf die Tabelle, um eine neue Seite zu öffnen,
wenn(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 + "')");
★
Besonderer Hinweis: [?id=] kann nicht [? id =】
6. Übergeben Sie Parameter für Tabellen-Hyperlinkspalten
<asp:HyperLinkColumn Target="_blank" headertext="ID-Nummer" DataTextField="id"
NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "Data Field 1")%>'
& name='<%# DataBinder.Eval(Container.DataItem, "Data Field 2")%>' />
7. Klicken Sie auf die Tabelle, um die Farbe zu ändern,
wenn (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';");
}
Schreiben Sie in _ItemDataBound von 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. Was das Datumsformat betrifft,
solltedie Datumsformateinstellung
DataformatString="{0:yyyy-MM-dd}"
meiner Meinung nach im itembound-Ereignis
e.items.cell["your Column"].text=DateTime enthalten sein. Parse(e .items.cell["your columns"].text.ToString("yyyy-MM-dd"))
9. Um die Fehlermeldung zu erhalten und zur angegebenen Seite zu gelangen,
verwenden Sie nicht Response.Redirect, sondern verwenden Server.Transfer
zB
// in global.asax
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() ist HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//Der Rest der Nicht-HttpUnhandledException-Ausnahmen wird von ASP.NET selbst behandelt.
}
Die Umleitung führt zur Generierung eines Postbacks und zum Verlust der Fehlerinformationen. Daher sollte die Seitenführung direkt auf der Serverseite ausgeführt werden, damit die Fehlerinformationen auf der Fehlerverarbeitungsseite abgerufen und entsprechend verarbeitet werden können.
10.Cookie
löschen
.Expires=[DateTime ];
Response.Cookies("Benutzername").Expires = 0
11. Benutzerdefinierte Ausnahmebehandlung
// Benutzerdefinierte Ausnahmebehandlungsklasse
Verwenden des Systems;
mit System.Diagnostics;
Namespace MyAppException
{
/**//// <Zusammenfassung>
/// Anwendungsausnahmebehandlungsklasse, geerbt von der Systemausnahmeklasse ApplicationException.
/// Ausnahmeinhalt automatisch im Anwendungsprotokoll von Windows NT/2000 aufzeichnen
/// </summary>
öffentliche Klasse AppException:System.ApplicationException
{
publicAppException()
{
if (ApplicationConfiguration.EventLogEnabled)
LogEvent("Ein unbekannter Fehler ist aufgetreten.");
}
public AppException(string message)
{
LogEvent(Nachricht);
}
public AppException(string message,Exception innerException)
{
LogEvent(Nachricht);
if (innerException != null)
{
LogEvent(innerException.Message);
}
}
//Protokollierungsklasse
Verwenden des Systems;
Verwenden von System.Configuration;
Verwenden von System.Diagnostics;
mit System.IO;
Verwenden von System.Text;
mit System.Threading;
Namespace MyEventLog
{
/**//// <Zusammenfassung>
/// Ereignisprotokollierungsklasse, die Unterstützung für die Ereignisprotokollierung bereitstellt
/// <Bemerkungen>
/// Definiert 4 Protokollierungsmethoden (Fehler, Warnung, Info, Trace)
/// </remarks>
/// </summary>
öffentliche Klasse ApplicationLog
{
/**//// <Zusammenfassung>
/// Fehlerinformationen im Win2000/NT-Ereignisprotokoll aufzeichnen
/// <param name="message">Aufzuzeichnende Textinformationen</param>
/// </summary>
public static void WriteError(String message)
{
WriteLog(TraceLevel.Error, message);
}
/**//// <Zusammenfassung>
/// Warninformationen im Win2000/NT-Ereignisprotokoll aufzeichnen
/// <param name="message">Aufzuzeichnende Textinformationen</param>
/// </summary>
public static void WriteWarning(String message)
{
WriteLog(TraceLevel.Warning, message);
}
/**//// <Zusammenfassung>
/// Zeichnen Sie die Eingabeaufforderungsinformationen im Win2000/NT-Ereignisprotokoll auf
/// <param name="message">Aufzuzeichnende Textinformationen</param>
/// </summary>
public static void WriteInfo(String message)
{
WriteLog(TraceLevel.Info, Nachricht);
}
/**//// <Zusammenfassung>
/// Protokollierungsinformationen im Win2000/NT-Ereignisprotokoll aufzeichnen
/// <param name="message">Aufzuzeichnende Textinformationen</param>
/// </summary>
public static void WriteTrace(String message)
{
WriteLog(TraceLevel.Verbose, message);
}
/**//// <Zusammenfassung>
/// Formatieren Sie das im Ereignisprotokoll aufgezeichnete Textinformationsformat
/// <param name="ex">Ausnahmeobjekt, das formatiert werden muss</param>
/// <param name="catchInfo">Titelzeichenfolge der Ausnahmeinformationen.</param>
/// <retvalue>
/// <para>Formatierte Ausnahmeinformationszeichenfolge, einschließlich Ausnahmeinhalt und 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();
}
/**//// <Zusammenfassung>
/// Tatsächliche Methode zum Schreiben des Ereignisprotokolls
/// <param name="level">Die Ebene der aufzuzeichnenden Informationen (Fehler, Warnung, Info, Trace).</param>
/// <param name="messageText">Aufzuzeichnender Text.</param>
/// </summary>
private static void WriteLog(TraceLevel level, String messageText)
{
versuchen
{
EventLogEntryType LogEntryType;
Schalter (Niveau)
{
Fall TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
brechen;
Fall TraceLevel.Warning:
LogEntryType = EventLogEntryType.Warning;
brechen;
Fall TraceLevel.Info:
LogEntryType = EventLogEntryType.Information;
brechen;
Fall TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
brechen;
Standard:
LogEntryType = EventLogEntryType.SuccessAudit;
brechen;
}
EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//Ereignisprotokoll schreiben
eventLog.WriteEntry(messageText, LogEntryType);
}
Catch {} //Alle Ausnahmen ignorieren
}
} //Klasse ApplicationLog
}
12. Panel scrollt horizontal und wird automatisch vertikal erweitert
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Geben Sie zum Konvertieren in Tab
<script language="javascript"
die Eingabetaste ein.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-Superverbindungsspalte
DataNavigateUrlField="Feldname" DataNavigateUrlformatString =" http://xx/inc/delete.aspx?ID={0 }"
15.DataGrid-Zeilen ändern ihre Farbe mit der Maus.
Private void DGzf_ItemDataBound
(Objektsender, 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. Vorlagenspalte
<ASP:TEMPLATECOLUMN sichtbar="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" aktiviert="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
Backend code
protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)
{
//Ändern Sie die Auswahl der Spalten, um alle oder keine auszuwählen.
CheckBox chkExport;
if(CheckAll.Checked)
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = true;
}
}
anders
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = false;
}
}
}
17. Zahlenformatierung
[Das Ergebnis von <%#Container.DataItem("price")%> ist 500,0000, wie formatiert man es auf 500,00?]
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
int i=123456;
string s=i.ToString("###,###.00");
18. Datumsformatierung
[In ASPX-Seite: <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
Angezeigt als: 2004-8-11 19:44:28
Ich möchte nur: 2004-8-11]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
Wie soll ich es ändern?
[Datum formatieren]
Nehmen Sie es heraus, normalerweise Gegenstand
((DateTime)objectFromDB).ToString("yyyy-MM-dd");
[Validierungsausdruck für Datum]
A. Das folgende korrekte Eingabeformat: [29.02.2004], [29.02.2004 22:29:39 Uhr], [31.12.2004]
^((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. Das folgende korrekte Eingabeformat: [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]))$
[Fallkonvertierung]
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. So legen Sie die globale Variable
Global.asax im Application_Start()-Ereignis fest und fügen Application[attribute name] = xxx;
Es ist Ihre globale Variable.
20. Wie stellt man die von HyperLinkColumn generierte Verbindung her? Klicken Sie auf die Verbindung, um ein neues Fenster zu öffnen.
HyperLinkColumn hat ein Attribut Target, setzen Sie einfach den Wert auf „_blank“. (Target="_blank")
[ASPNETMENU] Klicken Sie auf den Menüpunkt, um ein neues Fenster zum Menüpunkt in Ihren menuData hinzuzufügen .xml-Datei.
Beispiel:
<?xml version="1.0"kodierung="GB2312"?>
<MenuData ImagesBaseURL="images/">
<MenüGruppe>
<MenuItem Label="Interne Parameterinformationen" URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label="Ankündigungsinformationen" URL="Infomation.aspx"
URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="Informationsbesprechung vorbereiten" URL="NewInfo.aspx" LeftIcon="file.gif" />
Am besten aktualisieren Sie Ihr aspnetmenu auf Version 1.2