静态页面的 MVC Url 辅助方法?

发布于 2024-10-26 06:00:47 字数 257 浏览 2 评论 0原文

如果我有一个类似于 "/something/something/" 的网址,并且我的网站是 http://mysite.com 并且我想链接到该网址,是否存在像 Url.Content(); 这样的方法会发现 IIS 中站点的虚拟目录并相应地映射到 url 路径?

我尝试了Url.GenerateContentUrl()、Url.Action()、Url.Content()、Url.RouteUrl()

If I have a url like "/something/something/" and my site is http://mysite.com and I want to link to that something url, is there a method like Url.Content(); which will discover the virtual directory of the site in IIS and map appropriately to a url path?

I tried Url.GenerateContentUrl(), Url.Action(), Url.Content(), Url.RouteUrl()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦行七里 2024-11-02 06:00:47

有没有像Url.Content();这样的方法

为什么有 Url.Content喜欢

var url = Url.Content("~/something/something");

它将处理虚拟目录名称,如果您的一侧部署在根 http://example.com 它将返回 /something/something 并且如果您有虚拟目录http://example.com/applicationname它将返回/applicationname/something/something

因此,每次需要链接静态资源时,都应该使用 Url.Content。例如:

<img src="<%= Url.Content("~/images/foo.png") %>" alt="" />

无论您的站点部署到哪里,都将始终正确解析图像 url。

is there a method like Url.Content();

Why like when there is Url.Content?

var url = Url.Content("~/something/something");

which will take care of the virtual directory name and if your side is deployed at the root http://example.com it will return /something/something and if you have a virtual directory http://example.com/applicationname it will return /applicationname/something/something.

So everytime you need to link a static resource you should always use Url.Content. For example:

<img src="<%= Url.Content("~/images/foo.png") %>" alt="" />

will always correctly resolve the image url no matter where your site is deployed to.

绻影浮沉 2024-11-02 06:00:47

如果出于某种原因,您不能只使用 Url.Content,则可以使用 HostingEnvironment.ApplicationVirtualPathHttpContext.Current.Server.MapPath

但我想不出一个不能只使用 Url.Content 的充分理由。

If, for whatever reason, you can't just use Url.Content, you can use either HostingEnvironment.ApplicationVirtualPath or HttpContext.Current.Server.MapPath instead.

But I can't think of a good reason you can't just use Url.Content.

盗心人 2024-11-02 06:00:47

我的假设是:

您网站的根目录中有一个类似 myfile.jpg 的文件。然后你想要一个像这样的网址:

http://mysite.com/myfile.jpg 

对吗?

您需要做的就是将其添加到 Global.asax.cs 中的路由中:

routes.IgnoreRoute("myfile.jpg");

是的,它也应该适用于子文件夹。

This is what I assume:

You have a file like myfile.jpg on the root on your site. Then you want a url like:

http://mysite.com/myfile.jpg 

Right?

All you need to do is add this in yours routes in Global.asax.cs:

routes.IgnoreRoute("myfile.jpg");

Yes it should work on sub folders too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文