La intención es hacer que cierto texto se actualice dinámicamente, según el value de un key en el web.config.
El value del key se almacena en un Session.
Si se usa Respose.Write sucede un error, y la página no responde.
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:contentplaceholder id="ContentPlaceHolder3" runat="server">
<div class="menu_principal">
<ul class="lista_simple">
<%
Select Case Session("ROL")
Case "ROL007"
Response.Write("")
Case Else
%>
<div class="modulo">
<div class="titulo_modulo">
<% Response.Write(Session("MASTER_CALEND_ACAD"))%>
</div>
<div>
<ul class="lista_simple">
<li><a href="lima_2017-I.pdf" id="calLima" target = "_Blank" >Lima</a></li>
</ul>
</div>
</div>
<%
End Select
%>
</asp:contentplaceholder>
</ContentTemplate>
</asp:UpdatePanel>
Esto genera el siguiente error en el ScriptManager:
No se pudo analizar el mensaje recibido del servidor. Este error suele producirse cuando la respuesta resulta modificada por llamadas a Response.Write() o cuando los filtros de respuesta, los HttpModules o el seguimiento de servidor están habilitados.
La solución es no usar Response.Write. En vez de eso, se debe usar una función pública que devuelva el value del key.
VB
==
Public Function Titulo_Mostrar() As String
Return System.Configuration.ConfigurationManager.AppSettings("MasterCalendAcad")
End Function
Y reemplazar
ASPX
====
<% Response.Write(Session("MASTER_CALEND_ACAD"))%>
por
ASPX
====
<%=Titulo_Mostrar()%>
Listo.
Keep Moving
lunes, 24 de abril de 2017
lunes, 2 de enero de 2017
Crystal Reports - Error de conector de base de datos desconocido
Este mensaje aparece al asignar nuestro dataset tipado al reporte.
dtFichaInscrip.TableName = "FichaIns"
ds.Tables.Add(dtFichaInscrip)
rpt.SetDataSource(ds)
Para solucionarlo, en el archivo App.config de nuestro proyecto de Escritorio debemos agregar unas líneas, y comentar otras.
Debe quedar así:
<?xml version="1.0"?>
<configuration>
<!--<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
.
.
.
dtFichaInscrip.TableName = "FichaIns"
ds.Tables.Add(dtFichaInscrip)
rpt.SetDataSource(ds)
Para solucionarlo, en el archivo App.config de nuestro proyecto de Escritorio debemos agregar unas líneas, y comentar otras.
Debe quedar así:
<?xml version="1.0"?>
<configuration>
<!--<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
.
.
.
martes, 19 de julio de 2016
Diálogo modal con Bootstrap, Javascript y jQuery
En el archivo *.js:
function Notas_Evaluciones_jQuery(NumNota) {
var Contenedor = '#ContentPlaceHolder1_';
$('.css' + NumNota).on('click', function (e) {
$('#dlgEval').modal({
keyboard: true, //Puede cerrar el diálogo con ESC
backdrop: 'static' //Se cierra el diálogo sólo con los botones o ESC
});
$('#dlgEval').modal('show');
return false;
});
return false;
}
En el archivo *.aspx:
<div class="modal fade" id="dlgEval" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Cerrar"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Ficha de evaluación del participante</h4>
</div>
<div runat="server" id="divDlgEval" class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary">Guardar</button>
</div>
</div>
</div>
</div>
function Notas_Evaluciones_jQuery(NumNota) {
var Contenedor = '#ContentPlaceHolder1_';
$('.css' + NumNota).on('click', function (e) {
$('#dlgEval').modal({
keyboard: true, //Puede cerrar el diálogo con ESC
backdrop: 'static' //Se cierra el diálogo sólo con los botones o ESC
});
$('#dlgEval').modal('show');
return false;
});
return false;
}
En el archivo *.aspx:
<div class="modal fade" id="dlgEval" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Cerrar"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Ficha de evaluación del participante</h4>
</div>
<div runat="server" id="divDlgEval" class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary">Guardar</button>
</div>
</div>
</div>
</div>
martes, 14 de junio de 2016
Crystal Reports 2008 - Servidor ocupado
Al iniciar Crystal Reports 2008, aparece un pequeño diálogo que dice: "No se puede completar esta acción porque el otro programa esta ocupado. Elija Cambiar a... para activar el programa ocupado y corregir el problema."
La solución es la siguiente:
1) Abrir el Administrador de tareas (CTRL + ALT + SUPR).
2) Ubicar la tarea Agent.exe y finalizarla.
3) En el pequeño diálogo que dice Servidor ocupado, hacer clic en el botón Reintentar.
4) Ahora que ya se pudo abrir Crystal Reports, en el menú Ayuda, desmarcar la opción Comprobar actualizaciones al iniciar.
5) Salir y volver a entrar para comprobar que ya se solucionó.
La solución es la siguiente:
1) Abrir el Administrador de tareas (CTRL + ALT + SUPR).
2) Ubicar la tarea Agent.exe y finalizarla.
3) En el pequeño diálogo que dice Servidor ocupado, hacer clic en el botón Reintentar.
4) Ahora que ya se pudo abrir Crystal Reports, en el menú Ayuda, desmarcar la opción Comprobar actualizaciones al iniciar.
5) Salir y volver a entrar para comprobar que ya se solucionó.
miércoles, 1 de junio de 2016
SP_HELPTEXT en MySQL
En MySql, el equivalente de sp_helptext de SQL Server se escribe así:
show create procedure Nombre_Procedimiento_Almacenado;
Por ejemplo: show create procedure pa_Encuestas_Sesion_Respuesta_INS;
El código del sp está en la columna Create Procedure de la tabla resultado.
show create procedure Nombre_Procedimiento_Almacenado;
Por ejemplo: show create procedure pa_Encuestas_Sesion_Respuesta_INS;
El código del sp está en la columna Create Procedure de la tabla resultado.
lunes, 2 de mayo de 2016
Desactivar Ir a página anterior con tecla Retroceder (Backspace)
Hasta ahora, es el único código que funciona en los tres navegadores principales.
Javascript
=========
$(document).ready(function () {
$(document).on("keydown", function (e) {
if (e.which === 8 && !$(e.target).is("input:not([textarea]), [contentEditable], [contentEditable=true]")) {
e.preventDefault();
}
if (e.which === 8 && !$(e.target).is("input:not([readonly]):not([type=radio]):not([type=checkbox])")) {
e.preventDefault();
}
});
});
Javascript
=========
$(document).ready(function () {
$(document).on("keydown", function (e) {
if (e.which === 8 && !$(e.target).is("input:not([textarea]), [contentEditable], [contentEditable=true]")) {
e.preventDefault();
}
if (e.which === 8 && !$(e.target).is("input:not([readonly]):not([type=radio]):not([type=checkbox])")) {
e.preventDefault();
}
});
});
Quitar funcionalidad a un textbox DatePicker jQuery UI
Javascript / jQuery
==============
// boolEstado: true, false
if (boolEstado) {
$(Contenedor + 'txtFecSesion').datepicker('disable');
}
else {
$(Contenedor + 'txtFecSesion').datepicker('enable');
}
==============
// boolEstado: true, false
if (boolEstado) {
$(Contenedor + 'txtFecSesion').datepicker('disable');
}
else {
$(Contenedor + 'txtFecSesion').datepicker('enable');
}
Suscribirse a:
Entradas (Atom)