Asp.net MVC2:内部和本地服务器上的CSS/Images路径

cou*_*011 1 asp.net-mvc asp.net-mvc-2

我有一个Asp.net MVC2 Web应用程序.我使用VS2008构建了应用程序并在内部服务器上进行了测试,一切都很完美但是当我在本地IIS上部署该Web应用程序时,网页和CSS文件中的图像路径不正确.

我需要更改使用内部服务器和本地服务器的路径.我怎样才能克服这个问题?

Ama*_*ere 5

您是否尝试过直接打开CSS和图像(即不通过在页面上调用)?那样有用吗?

如何在内部服务器上链接到它们,如果相对路径不等同,您将遇到您描述的问题.有关如何解决此问题的示例是使用Url.Content().

例如,而不是使用:

<link rel="Stylesheet" href="/Styles/Reset.css" />
Run Code Online (Sandbox Code Playgroud)

你会用:

<link rel="Stylesheet" href="<%=Url.Content("~/Styles/Reset.css")%>" />
Run Code Online (Sandbox Code Playgroud)

这将根据应用程序在该框上的位置来计算URL - 而不是相对于Web根目录.

编辑:如果您需要通过C#代码执行此操作

// This can be used to create img tag
public static string Image(this HtmlHelper helper)
{
    UrlHelper urlHelper = ((Controller)helper.ViewContext.Controller).Url;
    TagBuilder imgTag = new TagBuilder("img");
    imgTag.MergeAttribute("src", urlHelper.Content("~/Content/images/image.gif"));
    imgTag.MergeAttribute("alt", "Alt text");

    return imgTag.ToString(TagRenderMode.SelfClosing);
}
Run Code Online (Sandbox Code Playgroud)