0

我的 URL 解析不正确。当我部署我的应用程序名称时,网址中会省略。它的假设是: http:////Content/images/ect 但它被渲染为 http:///Content/images/ect ,这显然无法解决。我的网址如下所示:

<img src="/Content/images/Misc/Lock.png" />

如果我在 url 中添加一个 ~ (在内容之前),它会在部署时完美解决,但会在我的开发环境中中断。

这是一个 MVC 应用程序,这意味着我还有一些对操作(控制器/操作/)的 ajax 调用,这些调用也无法解析,从而破坏了大部分站点。

我在 IIS 中的默认网站下部署,将其移动到另一个站点不是一种选择。

任何建议将不胜感激。

4

2 回答 2

1

你试过使用Url.Content吗?

它会是这样的(未经测试)

<img src="@Url.Content("~/Content/images/Misc/Lock.png")" />

于 2013-08-08T13:52:40.953 回答
1

这与您的主机有关,如果您将此站点作为子站点而不是在其自己的 IIS 站点下运行,则主机需要 ~. 我已经通过使用全局 javascript 变量来保存站点根目录来解决这个问题。我在主站点布局中填充变量,如下所示:

var gSiteRoot = '@MvcHtmlString.Create(Url.Content("~/"))';

然后,当我需要在 js 中构造一个 url 时,我会像这样使用它:

 var url = gSiteRoot + 'restofurl';
于 2013-08-08T15:09:27.033 回答