1. Abra una nueva ventana y envíe parámetros:
Enviar parámetros:
respuesta.write("<script>window.open
('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"')</ script>")
recibe parámetros:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. Agregue un cuadro de diálogo al botón
Button1.Attributes.Add("onclick", "return confirm('confirm?')");
button.attributes.add("onclick","if(confirm('¿estás seguro?'))
{return true;}else{return false;}")
3. Eliminar el formulario Registro seleccionado
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
cadena eliminarCmd = "BORRAR de Empleado donde emp_id = " + intEmpID.ToString()
4. Eliminar registro de tabla advertencia
privada void DataGrid_ItemCreated(Objeto remitente, 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",
"return confirm('
¿Está seguro de que desea eliminar esta información');"
)
;
break
;
el enlace de la fila de la tabla Otra página
privada void grdCustomer_ItemDataBound
(remitente del objeto, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//Haga clic en la tabla para abrir
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 + "');") ;
}
Haga doble clic en la conexión de la tabla Vaya a otra página, en el evento itemDataBind
if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item. celdas[1].Texto;
e.item.Attributes.Add("ondblclick",
"location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'");
haga
doble clic en la tabla para abrir una nueva página
if(e) .Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
cadena OrderItemID =e.item.cells[1].Text;
e.item.Attributes.Add("ondblclick",
"open('../ShippedGrid.aspx?id=" + OrderItemID + "')");
}
★Nota especial: [?id=] no puede ser [? =】
6. Pase parámetros para las columnas de hipervínculo de la tabla
<asp:HyperLinkColumn Target="_blank" headertext="ID number" DataTextField="id"
NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "Campo de datos 1")%>'
& name='<%# DataBinder.Eval(Container.DataItem, "Data Field 2")%>' />
7. Haga clic en la tabla para cambiar el color
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';");
}
Escribe en _ItemDataBound de DataGrid
si (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. Con respecto al formato de fecha,
la configuración del formato de fecha
DataformatString="{0:yyyy-MM-dd}"
Creo que debería estar en el evento vinculado al elemento
e.items.cell["your column"].text=DateTime. Parse(e .items.cell["your column"].text.ToString("yyyy-MM-dd"))
9. Para obtener el mensaje de error e ir a la página especificada,
no use Response.Redirect, pero use Server.Transfer,
por ejemplo
// en global.asax
void protegido Application_Error (remitente del objeto, EventArgs e) {
si (Server.GetLastError() es HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
// El resto de las excepciones que no son HttpUnhandledException serán manejadas por el propio ASP.NET.
}
La redirección generará una devolución de datos y perderá la información de error, por lo que la guía de la página debe ejecutarse directamente en el lado del servidor, de modo que la información de error se pueda obtener en la página de procesamiento de errores y procesarse en consecuencia
10. Borrar cookie
Cookie .Expires=[FechaHora];
Respuesta.Cookies("Nombre de usuario").Expira = 0
11. Manejo de excepciones personalizado
// Clase de manejo de excepciones personalizado
usando Sistema;
usando System.Diagnostics
espacio de nombres MyAppException
;
{
/**//// <resumen>
/// Clase de manejo de excepciones de aplicaciones heredada de la clase de excepción del sistema ApplicationException.
/// Registra automáticamente el contenido de la excepción en el registro de la aplicación de Windows NT/2000
/// </summary>
AppException de clase pública: System.ApplicationException
{
excepción de aplicación pública()
{
si (ApplicationConfiguration.EventLogEnabled)
LogEvent("Se produjo un error desconocido.");
}
AppException pública (mensaje de cadena)
{
LogEvent(mensaje);
}
AppException pública (mensaje de cadena, excepción interna)
{
LogEvent(mensaje);
si (excepción interna! = nulo)
{
LogEvent(innerException.Mensaje);
}
}
//Clase de registro
usando Sistema;
usando System.Configuration;
utilizando System.Diagnostics;
usando System.IO;
usando System.Text;
usando System.Threading
espacio de nombres MyEventLog
;
{
/**//// <resumen>
/// Clase de registro de eventos, que proporciona soporte de registro de eventos
/// <comentarios>
/// Define 4 métodos de registro (error, advertencia, información, seguimiento)
/// </comentarios>
/// </summary>
Registro de aplicaciones de clase pública
{
/**//// <resumen>
/// Registrar información de error en el registro de eventos de Win2000/NT
/// <param name="message">Información de texto que se registrará</param>
/// </summary>
WriteError vacío estático público (mensaje de cadena)
{
WriteLog(TraceLevel.Error, mensaje);
}
/**//// <resumen>
/// Registra información de advertencia en el registro de eventos de Win2000/NT
/// <param name="message">Información de texto que se registrará</param>
/// </summary>
WriteWarning vacío estático público (mensaje de cadena)
{
WriteLog(TraceLevel.Warning, mensaje);
}
/**//// <resumen>
/// Registre la información del mensaje en el registro de eventos de Win2000/NT
/// <param name="message">Información de texto que se registrará</param>
/// </summary>
WriteInfo vacío estático público (mensaje de cadena)
{
WriteLog(TraceLevel.Info, mensaje);
}
/**//// <resumen>
/// Registrar información de seguimiento en el registro de eventos de Win2000/NT
/// <param name="message">Información de texto que se registrará</param>
/// </summary>
WriteTrace vacío estático público (mensaje de cadena)
{
WriteLog(TraceLevel.Detallado, mensaje);
}
/**//// <resumen>
/// Formatear el formato de información de texto registrado en el registro de eventos
/// <param name="ex">Objeto de excepción que necesita ser formateado</param>
/// <param name="catchInfo">Cadena de título de información de excepción.</param>
/// <valor de retirada>
/// <para>Cadena de información de excepción formateada, incluido el contenido de la excepción y la pila de seguimiento.</para>
/// </retvalor>
/// </summary>
Formato de cadena estática públicaException (Excepción ex, String catchInfo)
{
StringBuilder strBuilder = nuevo StringBuilder();
si (catchInfo! = Cadena.Vacío)
{
strBuilder.Append(catchInfo).Append("rn");
}
strBuilder.Append(ex.Message).Append("rn").Append(ex.StackTrace);
devolver strBuilder.ToString();
}
/**//// <resumen>
/// Método de escritura del registro de eventos real
/// <param name="level">El nivel de información que se registrará (error, advertencia, información, seguimiento).</param>
/// <param name="messageText">Texto a grabar.</param>
/// </summary>
WriteLog vacío estático privado (nivel TraceLevel, texto de mensaje de cadena)
{
intentar
{
EventLogEntryType LogEntryType;
interruptor (nivel)
{
caso TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
romper;
caso TraceLevel. Advertencia:
LogEntryType = EventLogEntryType.Warning;
romper;
caso TraceLevel.Info:
LogEntryType = EventLogEntryType.Información;
romper;
caso TraceLevel.Detallado:
LogEntryType = EventLogEntryType.SuccessAudit;
romper;
por defecto:
LogEntryType = EventLogEntryType.SuccessAudit;
romper;
}
EventLog eventLog = new EventLog("Aplicación", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName);
//escribir registro de eventos
eventLog.WriteEntry(mensajeTexto, LogEntryType);
}
catch {} //Ignora cualquier excepción
}
} //clase Registro de aplicaciones
}
12. El panel se desplaza horizontalmente y se expande automáticamente verticalmente
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13. Ingrese para convertir a pestaña
<script language="javascript" para="documento" evento="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='botón' &&
event.srcElement.type!='enviar' && event.srcElement.type!='reset'
&& event.srcElement.type!=''&& event.srcElement.type!='textarea');
evento.keyCode=9;
</script>
onkeydown="if(event.keyCode==13) event.keyCode=9"
http://dotnet.aspx.cc/exam/enter2tab.aspx
14.Columna de superconexión DataGrid
DataNavigateUrlField="Nombre de campo" DataNavigateUrlformatString =" http://xx/inc/delete.aspx?ID={0} "
15.Las filas de DataGrid cambian de color con el
vacío privado del mouse DGzf_ItemDataBound
(remitente del objeto, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
si (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=
""+e.Item.style["FONDO-COLOR"]+""");
e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=""+ "#EFF3F7"+""");
}
}
16. Columna de plantilla
<ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID">
<PLANTILLA DE ARTÍCULO>
<ASP:LABEL text='<%# DataBinder.Eval(Container.DataItem,
"ArticleID")%>' runat="servidor" ancho="80%" id="lblColumn" />
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
<ASP:TEMPLATECOLUMN headertext="verificar">
<HEADERstyle wrap="False" horizontalalign="Centro"></HEADERstyle>
<PLANTILLA DE ARTÍCULO>
<ASP:CHECKBOX id="chkExport" runat="servidor" />
</ITEMTEMPLATE>
<EDITAR PLANTILLA DE ARTÍCULO>
<ASP:CHECKBOX id="chkExportON" runat="servidor" habilitado="true" />
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
Código backend
protegido void CheckAll_CheckedChanged(remitente del objeto, System.EventArgs e)
{
//Cambia la selección de columnas para seleccionar todas o ninguna.
Casilla de verificación chkExportar;
si (Marcar todo. Marcado)
{
foreach(DataGridItem oDataGridItem en MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = verdadero;
}
}
demás
{
foreach(DataGridItem oDataGridItem en MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked = falso;
}
}
}
17. Formato de números
[El resultado de <%#Container.DataItem("price")%> es 500,0000, ¿cómo formatearlo a 500,00?]
<%#Container.DataItem("precio","{0:¥#,##0.00}")%>
int i = 123456;
string s=i.ToString("###,###.00");
18. Formato de fecha
[En la página aspx: <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
Mostrado como: 2004-8-11 19:44:28
Solo quiero: 2004-8-11]
<%# DataBinder.Eval(Container.DataItem, "Company_Ureg_Date", "{0:yyyy-Md}")%>
¿Cómo debo cambiarlo?
[Formatear fecha]
Sácalo, normalmente objeta.
((DateTime)objectFromDB).ToString("yyyy-MM-dd");
[Expresión de validación para la fecha]
A. El siguiente formato de entrada correcto: [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. El siguiente formato de entrada correcto: [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]))$
[Conversión de mayúsculas y minúsculas]
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. Cómo configurar la variable global
Global.asax en el evento Application_Start() y agregar Application[nombre del atributo] = xxx;
Es tu variable global
20. ¿Cómo hacer que la conexión generada por HyperLinkColumn haga clic en la conexión para abrir una nueva ventana?
HyperLinkColumn tiene un atributo Target, simplemente establezca el valor en "_blank". (Target="_blank")
[ASPNETMENU] Haga clic en el elemento del menú para que aparezca una nueva ventana. Agregue URLTarget="_blank" al elemento del menú en su menuData. Archivo .xml.
Por ejemplo:
<?xml versión="1.0" codificación="GB2312"?>
<MenúDatos ImagesBaseURL="imágenes/">
<Grupo de menús>
<MenuItem Label="Información de parámetros internos" URL="Infomation.aspx" >
<ID de grupo de menú="BBC">
<MenuItem Label="Información del anuncio" URL="Información.aspx"
URLTarget="_blank" LeftIcon="archivo.gif"/>
<MenuItem Label="Preparar informe informativo" URL="NewInfo.aspx" LeftIcon="file.gif" />
Lo mejor es actualizar su aspnetmenu a la versión 1.2