ASP.NET site.master 页面中没有评估 C# 代码
ASP.NET no evaluation of C# code in site.master page
我有一个 ASP.NET 应用程序,我想根据环境(生产、质量等...)使用不同的徽标,因此在我的 Site.Master 页面中我有一个图像像这样:
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/logo_<%= EnvironmentHelper.GetRunningEnvironment() %>.png" AlternateText="logo"/>
后面的代码是这样的:
public static class EnvironmentHelper
{ public static string GetRunningEnvironment()
{
return string.IsNullOrEmpty(ConfigurationManager.AppSettings["RunningEnvironment"])
? "dev"
: ConfigurationManager.AppSettings["RunningEnvironment"];
}}
我已经在 Site.Master 页面中添加了命名空间,以便可以调用该方法:
<%@ Import Namespace="Business.Helpers" %>
在 Web.config 文件中,我在 appSettings 部分创建了一个变量,如下所示:
<add key="RunningEnvironment" value="dev"/>
我的图像文件夹中有几张包含所有环境的图像(logo_prod.png、logo_dev.png 等....)
问题是徽标没有显示,图片的 url 是:
http://localhost/myapp/Images/logo_%3C%25=%20EnvironmentHelper.GetRunningEnvironment()%20%25%3E.png
为什么不评估 GetRunningEnvironment 方法?
您不能在该字段内使用服务器标签。
您可以通过在后面的代码中设置 URL 来解决此问题:
protected void Page_Load(object sender, EventArgs e)
{
this.Image1.ImageUrl = "~/Images/logo_" + EnvironmentHelper.GetRunningEnvironment() + ".png";
}
或直接使用 HTML img
元素:
<img src="<%= "~/Images/logo_" + EnvironmentHelper.GetRunningEnvironment() + ".png" %>" alt="logo" />
我有一个 ASP.NET 应用程序,我想根据环境(生产、质量等...)使用不同的徽标,因此在我的 Site.Master 页面中我有一个图像像这样:
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/logo_<%= EnvironmentHelper.GetRunningEnvironment() %>.png" AlternateText="logo"/>
后面的代码是这样的:
public static class EnvironmentHelper
{ public static string GetRunningEnvironment()
{
return string.IsNullOrEmpty(ConfigurationManager.AppSettings["RunningEnvironment"])
? "dev"
: ConfigurationManager.AppSettings["RunningEnvironment"];
}}
我已经在 Site.Master 页面中添加了命名空间,以便可以调用该方法:
<%@ Import Namespace="Business.Helpers" %>
在 Web.config 文件中,我在 appSettings 部分创建了一个变量,如下所示:
<add key="RunningEnvironment" value="dev"/>
我的图像文件夹中有几张包含所有环境的图像(logo_prod.png、logo_dev.png 等....)
问题是徽标没有显示,图片的 url 是:
http://localhost/myapp/Images/logo_%3C%25=%20EnvironmentHelper.GetRunningEnvironment()%20%25%3E.png
为什么不评估 GetRunningEnvironment 方法?
您不能在该字段内使用服务器标签。
您可以通过在后面的代码中设置 URL 来解决此问题:
protected void Page_Load(object sender, EventArgs e)
{
this.Image1.ImageUrl = "~/Images/logo_" + EnvironmentHelper.GetRunningEnvironment() + ".png";
}
或直接使用 HTML img
元素:
<img src="<%= "~/Images/logo_" + EnvironmentHelper.GetRunningEnvironment() + ".png" %>" alt="logo" />