Recomendado: ASP+AJAX no logra actualizar para agregar amigos Debido a las relaciones laborales, una de las funciones es aumentar la otra parte como amiga. Como se muestra en la figura: el método utilizado es AJAX, y el código apropiado es menos costoso: un href = javaScript: void (0); onClick = add_username (' %= rs (nombre de usuario) %'); Agregue como amigo/a, la verificación JS utilizada: Script Language = JavaScript src = Ajax.
Una clase ASP utilizada para implementar la función de etiqueta, puede comprender las funciones específicas si puede entenderlas.
Modificar el registro:
1. Agregar la función de extensión, 2006-12-3
<%
'**********************************
'Nombre de la clase: TagEngine
'Nombre: motor de etiqueta
'Fecha: 2006-11-29
'Autor: Leng Yue, Xilou
'Sitio web: www.xilou.net | www.chinacms.org
'Descripción: solo la función de extraer etiquetas, sin función de las etiquetas de análisis
'Copyright: consulte la fuente para la reimpresión, el autor
'**********************************
'Último modificado: 2006-12-3
'Número de modificaciones: 3
'Instrucciones de modificación: modifique las reglas para que la coincidencia sea más precisa
'Versión actual: V1.1.3
'**********************************
Taggine de clase
Objeto regular privado regex '
'Defina las reglas de la etiqueta
Tagbegin privado
Tagend privado
Blockbegin_begin
Blockbegin_end privado
Blockend_begin privado
Blockend_end privado
'// Inicialización
Sub class_initialize () privado ()
'Inicializar las reglas de la etiqueta
tagBegin = {
tagend =}
blockbegin_begin = <block:
blockbegin_end =>
blockend_begin = </block:
blockend_end =>
'Inicializar el objeto regular
Establecer regex = new Regexp
regex.ignorecase = true 'es insensible
regex.global = true'global Match
Final
Sub class_terminate () privado ()
'Libera el objeto
If isObject (regex) entonces establecer regex = nada
Final
'Método: RESETPTERNN ()
'parámetro:
'Retorno: sin valor de retorno
'Función: restablecer las reglas de la etiqueta
Public sub reetPattern (tagBegin, tagend, _
blockbegin_begin, _
blockbegin_end, _
blockend_begin, _
blockend_end _
)
tagBegin = tagBegin
tagend = tagend
blockbegin_begin = blockbegin_begin
blockbegin_end = blockbegin_end
blockend_begin = blockend_begin
blockend_end = blockend_end
Final
'Método: GetBlocks (temp, blockname)
'Parámetro: temperatura, el contenido para que coincida; Nombre de bloqueo de bloqueo, bloque de bandera
'Return: Regrese al objeto de colección (coincidencias)
'Función: Obtenga la colección de etiquetas de bloque
Función pública GetBlocks (Temp, BlockName)
Patrón de duendes
patrón = (& blockbegin_begin & []*& blockname &/b [/w/w]*? & blockbegin_end
patrón = patrón y) ([/w/w]*?) & blockend_begin & [/n/r]*& blockname & []*& blockend_end
'Respuesta. Patrón de escritura
regex.pattern = patrón
Set getBlocks = regex.execute (temp) 'Devuelve el conjunto de coincidencia
Función final
'Método: GetBlockByatt (Temp, AttributeName, AttributeValue)
'Argumento: temperatura, el contenido para que coincida; AttributeName, nombre de atributo; AttributeValue, valor de atributo
'Return: Regrese al objeto de colección (coincidencias)
'Función: obtenga un conjunto coincidente de bloques basado en el valor de un cierto atributo en la etiqueta de bloque
Función pública GetBlockByatt (temp, attributeName, AttributeValue)
Patrón de duendes
patrón = (& blockbegin_begin & [/w/w]*? [/n/r]+& attributenEname
Pattern = Pattern & []*= []*/& chr (34) & AttributeValue &/& Chr (34) & [/n/r]*[/w/w]*?
Pattern = Pattern & Blockbegin_end
Pattern = Pattern &) ([/w/w]*?) & blockend_begin & [/w/w]*? & blockend_end
'Respuesta. Patrón de escritura
regex.pattern = patrón
Set getBlockByatt = regex.execute (temp) 'Devuelve el conjunto de coincidencia
Función final
'Método: getAttValue (temp, attributeName)
'Artículo: temperatura, el contenido para que coincida; AttributeName, nombre de atributo
'Return: Regrese al objeto de colección (coincidencias)
'Efecto: obtenga el valor del atributo en la etiqueta de bloque
Función pública getAttValue (temp, attributiveName)
Patrón de duendes
patrón = [/n/r]+& attributeName & []*= []*/& chr (34) & ([^/f/n/r/t/v/y chr (34) &]*?)/& chr (34)
'Respuesta. Patrón de escritura
regex.pattern = patrón
Establecer getattValue = regex.execute (temp)
Función final
'Método: parsetag (temp, tagname, tagValue)
'Argumento: temperatura, el contenido para que coincida; AttributeName, nombre de atributo; AttributeValue, valor de atributo
'Return: Devuelve la cadena reemplazada
'Efecto: reemplazar etiquetas simples
Función pública parsetag (temp, tagname, tagValue)
Patrón de duendes
'Pattern = tagBegin & []*& tagname & []*& tagend
Pattern = tagBegin & tagname & tagend
regex.pattern = patrón
parsetag = regex.replace (temp, tagValue)
Función final
'Método: ClearBlocks (temp)
'Argumento: temperatura, qué coincidir
'Return: Devuelve la cadena bordeada
'Efecto: Borre todas las etiquetas de bloque
Función pública Clearblocks (temp)
Patrón de duendes
patrón = blockbegin_begin & [/w/w]*? & blockbegin_end & [/w/w]*?
Pattern = Pattern & Blockend_Begin & [/w/w]*? & Blockend_end
regex.pattern = patrón
ClearBlocks = regex.replace (temp,)
Función final
'Método: Cleartags (temp)
'Argumento: temperatura, qué coincidir
'Return: Devuelve la cadena bordeada
'Efecto: Borre todas las etiquetas individuales
Función pública Cleartags (temp)
Patrón de duendes
Pattern = tagBegin & [^/f/n/r/t/v]*? & tagend
regex.pattern = patrón
cleartags = regex.replace (temp,)
Función final
'Método: ducha (errdes)
'Parámetro: errdes, descripción de error
'Regreso: ninguno
'Efecto: error de visualización
Público Sub Showror (ERRDES)
Dim Errinfo, Cssstyle
cssstyle = style = & chr (34)
cssstyle = cssstyle & font: bold 12px 150%, 'arial'; borde: 1px sólido #cc3366;
cssstyle = cssstyle & width: 50%; color:#990066; relleno: 2px; & chr (34)
errinfo = vbcrlf & <ul & cssstyle &> <li> & errdes & </li> </ul> & vbcrlf
Respuesta.WRITE ERRINFO
Final
'********************* La función estándar termina ********************
'Las siguientes son extensiones personalizadas
'Método: Ext_getSimpleBlocks (temp, blockName)
'Parámetro: temperatura, el contenido para que coincida; Nombre de bloqueo de bloqueo, bloque de bandera
'Return: Regrese al objeto de colección (coincidencias)
'Función: obtenga una colección de etiquetas de bloque simples
'Ejemplo: <block: new id = loop =/>
Función pública Ext_getSimpleBlocks (temp, blockname)
Patrón de duendes
Dim blockbegin, Blockend
'Redefine las reglas de la etiqueta
blockbegin = <Block:
Blockend =/>
patrón = blockbegin & []*& blockname &/b [/w/w]*? & Blockend
regex.pattern = patrón
Establecer ext_getsimpleblocks = regex.execute (temp)
Función final
'********************* La función estándar termina ********************
'Las siguientes son extensiones personalizadas
'Método: Ext_getSimpleBlocks (temp, blockName)
'Parámetro: temperatura, el contenido para que coincida; Nombre de bloqueo de bloqueo, bloque de bandera
'Return: Regrese al objeto de colección (coincidencias)
'Función: obtenga una colección de etiquetas de bloque simples
'Ejemplo: <block: new id = loop =/>
Función pública Ext_getSimpleBlocks (temp, blockname)
Patrón de duendes
Dim blockbegin, Blockend
'Redefine las reglas de la etiqueta
blockbegin = <Block:
Blockend =/>
patrón = blockbegin & []*& blockname &/b [/w/w]*? & Blockend
regex.pattern = patrón
Establecer ext_getsimpleblocks = regex.execute (temp)
Función final
'Método: Ext_gettext (ruta)
'Argumento: ruta, ruta relativa o absoluta al texto a leer
'Return: devuelve contenido de texto
'Función: lea el archivo
'Ejemplo: c = ext_gettext (tpl.htm)
Función pública Ext_gettext (ruta)
Dim FSO, F, texto
En el currículum de error siguiente
Establecer fso = createObject (scripting.filesystemObject)
Establecer F = FSO.OPENTEXTFILE (ruta)
texto = f.Readall
Si err entonces
Err.Clear
ducha de ducha ocurrió un error al leer el archivo ...
If isObject (FSO) entonces establezca fso = nada
Función de salida
Final si
If isObject (FSO) entonces establezca fso = nada
Ext_gettext = texto
Función final
'Método: Ext_getincludeFile (temp)
'Argumento: temperatura, qué coincidir
'Return: Regrese al objeto de colección (coincidencias)
'Función: analice el bloque de <!-#include file = tpl.html->
'Ejemplo: ext_getincludeFile (temp) (0) .submatches (0), devuelve el primer nombre de archivo coincidente
Función pública Ext_getincludeFile (temp)
Patrón de duendes
Dim blockbegin, Blockend
'Redefine las reglas de la etiqueta
blockbegin = <!-#incluir
Blockend =->
patrón = blockbegin & []*file []*= []*/([/w/w]*?)/[]*& blockend
regex.pattern = patrón
Establecer ext_getincludeFile = regex.execute (temp)
Función final
Clase final
%>
Compartir: Votación de IP restringida ASP Código de ejemplo completo Debido a las relaciones laborales, una de las funciones es votar sobre los usuarios, que requiere que la misma IP vote sobre el mismo usuario solo una vez, publique el código ASP: % 'Autor: Wurong Fuente: DB_Conn (DBS) VoteUsername = Trim (request.queryString (username)) RS_Create (seleccione UserName del [usuario] donde useName =' '