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.