C# 为什么我的代码在标记属性中没有按预期进行计算?
此代码:C# 为什么我的代码在标记属性中没有按预期进行计算?,c#,.net,model-view-controller,virtual-directory,C#,.net,Model View Controller,Virtual Directory,此代码: <% string path = Request.ApplicationPath.ToString(); %> <link href="<%= path %>/Content/Site.css" rel="stylesheet" type="text/css" /> 返回以下内容: <link href="../Views/Shared/%3C%25=%20path%20%25%3E/Content/Site.css" rel="styl
<% string path = Request.ApplicationPath.ToString(); %>
<link href="<%= path %>/Content/Site.css" rel="stylesheet" type="text/css" />
返回以下内容:
<link href="../Views/Shared/%3C%25=%20path%20%25%3E/Content/Site.css" rel="stylesheet" type="text/css" />
而我正期待着:
<link href="/foo/Content/Site.css" rel="stylesheet" type="text/css" />
为什么我的代码没有返回预期的路径?如何设置脚本、css文件和图像,使其在虚拟目录更改时具有灵活性?回答第一个问题,您使用的是什么视图引擎?您使用的是MVC3吗?我认为MVC3默认为Razor,而不是Asp.Net作为视图引擎 要回答第二个问题,您应该尝试以下方法:
这将输出您想要的内容来回答您的第一个问题,您使用的是什么视图引擎?您使用的是MVC3吗?我认为MVC3默认为Razor,而不是Asp.Net作为视图引擎 要回答第二个问题,您应该尝试以下方法:
可以使用~(tilde)前缀指定虚拟路径。可以使用~(tilde)前缀指定虚拟路径。谢谢。这正是我想要的。至于视图引擎,我如何确定我使用的是哪一个?在global.asax中,您可以设置视图引擎。如果其中没有代码,则可能使用默认值。我认为MVC3默认使用Razor,早期版本使用WebForms。您可以查看此内容以查找其他许多视图引擎:我知道这个问题已经存在5年了,但请记住,我使用的是WebForms.:)谢谢这正是我想要的。至于视图引擎,我如何确定我使用的是哪一个?在global.asax中,您可以设置视图引擎。如果其中没有代码,则可能使用默认值。我认为MVC3默认使用Razor,早期版本使用WebForms。您可以查看此内容以查找其他许多视图引擎:我知道这个问题已经存在5年了,但请记住,我使用的是WebForms.:)