que podría estar completamente fuera de pista por ahora, así que sólo voy a pedir esto aquí para que alguien me puede ayudar.valor obtener de applicationSettings web.config en ASP.NET marcado
Lo que yo quiero hacer, es insertar un valor de mi web.config, almacenado en un área applicationSettings, en mi marcado aspx. Específicamente, quiero leer una URL de config. Esta es la configuración configSection utilizo
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=123456">
<section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=12345" requirePermission="false" />
</configSections>
Más tarde, en ese archivo son los ajustes reales de este modo:
<applicationSettings>
<MyApp.Properties.Settings>
<setting name="ImagesUrl" serializeAs="String">
<value>http://resources/images/</value>
</setting>
Ahora quiero hacer referencia al valor anterior en el marcado de esta manera:
<asp:Image ID="Image1" runat="server" ImageUrl="<%$AppSettings:ImagesUrl%>/Image1.jpg
sé que hay una expresión disponibles <% $ appSettings: ImagesUrl%>, pero no estoy usando la parte appsettings de web.config, en lugar del configSection.
EDIT: Creo que solo puedo hacerlo con ExpressionBuilder, porque tengo que concatenar la cadena con el nombre de la imagen individual. Cambié el ejemplo anterior para reflejar eso.
me gusta Solución Código Smith Bert a continuación para acceder a la sección de configuración, lo único que necesita para ponerlo en un generador de expresiones. Estoy atascado al anular el método GetCodeExpression desde el que llamaría a Configuration Manager, pero no entiendo cómo crear una expresión de los parámetros.
public class SettingsExpressionBuilder: ExpressionBuilder
{
public override CodeExpression GetCodeExpression(BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context)
{
return ??
}
EDITAR
El resultado es idéntico, y funciona para todo tipo de archivos, no sólo imágenes:
<asp:ScriptReference Path='<%$Code:GetAppSetting("ResourcesUrl","JS/jquery/jquery.jqplot.js")%>'
y simplemente usó el ejemplo de Microsoft para devolver cualquier tipo de código del generador de expresiones:
retorno nueva CodeSnippetExpression (entry.Expression);
Y GetAppSetting es un método en mi clase de página personalizada.
"Podría ser completamente fuera de pista por ahora" .. Yo diría que si está almacenando enlaces a la imagen recursos en un archivo web.config, entonces sí, estás muy equivocado. – NotMe
Después de reflexionar, podría estar leyendo esto mal. ¿Está almacenando la parte inicial de la referencia externa o toda la ubicación de la imagen? Lo que lleva a la siguiente pregunta: ¿esto es realmente compatible con múltiples entornos (prueba, escenario, prod)? – NotMe
Sí, solo la primera parte de la URL, así que puedo cambiar eso en diferentes entornos –