1. Ouvrez une nouvelle fenêtre et envoyez les paramètres :
Envoyer les paramètres :
réponse.write("<script>window.open
('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</ script>")
reçoit les paramètres :
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. Ajoutez une boîte de dialogue au bouton
Button1.Attributes.Add("onclick", "return confirm('confirm?')");
bouton.attributes.add("onclick","if(confirm('are you sure?'))
{return true;}else{return false;}")
3. Supprimer le formulaire Enregistrement sélectionné
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employeewhere emp_id = " + intEmpID.ToString()
4. Supprimer l'enregistrement de table avertissement
private void DataGrid_ItemCreated(Object expéditeur, DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell
=
e.Item.Cells[14]
;
LinkButton) myTableCell.Controls[0];
myDeleteButton.Attributes.Add
("onclick"
, "returnconfirm
(
'Etes-vous sûr de vouloir supprimer ces informations');")
;
break
;
le lien de ligne du tableau Une autre page
privée void grdCustomer_ItemDataBound
(expéditeur d'objet, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//Cliquez sur le tableau pour l'ouvrir
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-cliquez sur la connexion de table. Accédez à une autre page, dans l'événement itemDataBind
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item. cellules[1].Texte ;
e.item.Attributes.Add("ondblclick",
"location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'"
}
Double-cliquez sur le tableau pour ouvrir une nouvelle 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 + "')"
}
★Remarque spéciale : [?id=] ne peut pas être [? =】
6. Transmettez les paramètres pour les colonnes de lien hypertexte du tableau
<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. Cliquez sur le tableau pour changer la couleur
if (e.Item.ItemType == ListItemType.Item || e.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","this.style.backgroundColor='#99cc00';
this.style.color='buttontext';this.style.cursor='default';");
}
Écrivez dans _ItemDataBound de 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. Concernant le format de date,
le paramètre de format de date
DataformatString="{0:yyyy-MM-dd}"
Je pense qu'il devrait être dans l'événement lié à l'élément
e.items.cell["your column"].text=DateTime. Parse(e .items.cell["your column"].text.ToString("aaaa-MM-dd"))
9. Pour obtenir le message d'erreur et accéder à la page spécifiée,
n'utilisez pas Response.Redirect, mais utilisez Server.Transfer
par exemple
// dans global.asax
protected void Application_Error (expéditeur d'objet, EventArgs e) {
si (Server.GetLastError() est HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//Le reste des exceptions non-HttpUnhandledException sera géré par ASP.NET lui-même.
}
La redirection entraînera la génération d'un post-back et perdra les informations d'erreur, le guide de page doit donc être exécuté directement côté serveur, afin que les informations d'erreur puissent être obtenues sur la page de traitement des erreurs et traitées en conséquence.
10. Effacer le cookie
Cookie .Expires=[DateHeure];
Réponse.Cookies("NomUtilisateur").Expires = 0
11. Gestion des exceptions personnalisée
// Classe de gestion des exceptions personnalisée
utiliser le système ;
en utilisant System.Diagnostics ;
espace de noms MyAppException ;
{
/**//// <résumé>
/// Classe de gestion des exceptions d'application héritée de la classe d'exceptions système ApplicationException.
/// Enregistre automatiquement le contenu des exceptions dans le journal des applications de Windows NT/2000
/// </summary>
classe publique AppException : System.ApplicationException
{
publicAppException()
{
si (ApplicationConfiguration.EventLogEnabled)
LogEvent("Une erreur inconnue s'est produite.");
}
public AppException (message de chaîne)
{
LogEvent(message);
}
public AppException (message de chaîne, exception innerException)
{
LogEvent(message);
si (innerException ! = null)
{
LogEvent(innerException.Message);
}
}
//Classe de journalisation
utiliser le système ;
en utilisant System.Configuration ;
en utilisant System.Diagnostics ;
en utilisant System.IO ;
en utilisant System.Text ;
en utilisant System.Threading,
l'espace de noms MyEventLog ;
{
/**//// <résumé>
/// Classe de journalisation des événements, fournissant la prise en charge de la journalisation des événements
/// <remarques>
/// Définit 4 méthodes de journalisation (erreur, avertissement, info, trace)
/// </remarques>
/// </summary>
classe publique ApplicationLog
{
/**//// <résumé>
/// Enregistrer les informations d'erreur dans le journal des événements Win2000/NT
/// <param name="message">Informations textuelles à enregistrer</param>
/// </summary>
public static void WriteError (message de chaîne)
{
WriteLog(TraceLevel.Error, message);
}
/**//// <résumé>
/// Enregistrer les informations d'avertissement dans le journal des événements Win2000/NT
/// <param name="message">Informations textuelles à enregistrer</param>
/// </summary>
public static void WriteWarning (message de chaîne)
{
WriteLog(TraceLevel.Warning, message);
}
/**//// <résumé>
/// Enregistrez les informations d'invite dans le journal des événements Win2000/NT
/// <param name="message">Informations textuelles à enregistrer</param>
/// </summary>
public static void WriteInfo (message de chaîne)
{
WriteLog(TraceLevel.Info, message);
}
/**//// <résumé>
/// Enregistrer les informations de traçage dans le journal des événements Win2000/NT
/// <param name="message">Informations textuelles à enregistrer</param>
/// </summary>
public static void WriteTrace (message de chaîne)
{
WriteLog(TraceLevel.Verbose, message);
}
/**//// <résumé>
/// Formater le format des informations textuelles enregistrées dans le journal des événements
/// <param name="ex">Objet d'exception qui doit être formaté</param>
/// <param name="catchInfo">Chaîne de titre des informations sur l'exception.</param>
/// <retvalue>
/// <para>Chaîne d'informations sur les exceptions formatée, y compris le contenu des exceptions et la pile de trace.</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();
}
/**//// <résumé>
/// Méthode d'écriture du journal des événements réels
/// <param name="level">Le niveau d'information à enregistrer (erreur, avertissement, info, trace).</param>
/// <param name="messageText">Texte à enregistrer.</param>
/// </summary>
vide statique privé WriteLog (niveau TraceLevel, chaîne messageText)
{
essayer
{
EventLogEntryType LogEntryType ;
interrupteur (niveau)
{
cas TraceLevel.Erreur :
LogEntryType = EventLogEntryType.Error ;
casser;
cas TraceLevel.Avertissement :
LogEntryType = EventLogEntryType.Warning ;
casser;
cas TraceLevel.Info :
LogEntryType = EventLogEntryType.Information ;
casser;
cas TraceLevel.Verbose :
LogEntryType = EventLogEntryType.SuccessAudit ;
casser;
défaut:
LogEntryType = EventLogEntryType.SuccessAudit ;
casser;
}
EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
// écriture du journal des événements
eventLog.WriteEntry(messageText, LogEntryType);
}
catch {} //Ignorer toutes les exceptions
}
} //classeApplicationLog
}
12. Le panneau défile horizontalement et s'agrandit automatiquement verticalement
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Entrez pour convertir en onglet
<script language="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='bouton' &&
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. Colonne de super connexion
DataGrid DataNavigateUrlField="Nom du champ" DataNavigateUrlformatString =" http://xx/inc/delete.aspx?ID={0 }"
15.Les lignes DataGrid changent de couleur avec le
vide privé de la souris DGzf_ItemDataBound
(expéditeur de l'objet, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
si (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. Colonne de modèle
<ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID">
<MODÈLE D'ÉLÉMENT>
<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>
<MODÈLE D'ÉLÉMENT>
<ASP:CHECKBOX id="chkExport" runat="server" />
</ITEMTEMPLATE>
<MODÈLED'ÉDITION>
<ASP:CHECKBOX id="chkExportON" runat="server" activé="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
Code backend
protégé void CheckAll_CheckedChanged (expéditeur de l'objet, System.EventArgs e)
{
//Modifiez la sélection des colonnes pour sélectionner tout ou rien.
CheckBox chkExport;
si (CheckAll.Checked)
{
foreach (DataGridItem oDataGridItem dans MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = true ;
}
}
autre
{
foreach (DataGridItem oDataGridItem dans MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = faux ;
}
}
}
17. Formatage des nombres
[Le résultat de <%#Container.DataItem("price")%> est 500,0000, comment le formater en 500,00 ?]
<%#Container.DataItem("price","{0:¥#,##0.00}")%>
int je = 123456 ;
string s=i.ToString("###,###.00");
18. Formatage de la date
[Dans la page aspx : <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
Affiché comme : 2004-8-11 19:44:28
Je veux juste : 2004-8-11]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
Comment dois-je le modifier ?
[Formater la date]
Retirez-le, objectez généralement
((DateTime)objectFromDB).ToString("aaaa-MM-jj");
[Expression de validation pour la date]
A. Le format d'entrée correct suivant : [2004-2-29], [2004-02-29 22: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. Le format d'entrée correct suivant : [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]))$
[Conversion de cas]
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. Comment définir la variable globale
Global.asax dans l'événement Application_Start() et ajouter Application[nom de l'attribut] = xxx;
Il s'agit de votre variable globale
20. Comment faire pour que la connexion générée par HyperLinkColumn clique sur la connexion pour ouvrir une nouvelle fenêtre ?
HyperLinkColumn a un attribut Target, définissez simplement la valeur sur "_blank". (Target="_blank")
[ASPNETMENU] Cliquez sur l'élément de menu pour ouvrir une nouvelle fenêtre. Ajoutez URLTarget="_blank" à l'élément de menu dans votre menuData. Fichier .xml.
Par exemple :
<?xml version="1.0" encoding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<GroupeMenu>
<MenuItem Label="Informations sur les paramètres internes" URL="Infomation.aspx" >
<ID du groupe de menu="BBC">
<MenuItem Label="Informations sur l'annonce" URL="Infomation.aspx"
URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="Préparer la réunion d'information" URL="NewInfo.aspx" LeftIcon="file.gif" />
Il est préférable de mettre à niveau votre menu aspnet vers la version 1.2