Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用ASP.NET MVC将HTML URL解析为子应用程序的根目录?_Html_Asp.net Mvc 3_Url_Iis_Razor - Fatal编程技术网

有没有办法使用ASP.NET MVC将HTML URL解析为子应用程序的根目录?

有没有办法使用ASP.NET MVC将HTML URL解析为子应用程序的根目录?,html,asp.net-mvc-3,url,iis,razor,Html,Asp.net Mvc 3,Url,Iis,Razor,使用ASP.NET MVC3和Razor&C# 假设我有一个通过IIS设置为作为普通网站运行的应用程序,但现在我想将此应用程序作为另一个网站下的子应用程序运行。例如,子应用程序将存储在网站根目录下名为“SubApp”的文件夹中(例如www.example.com/SubApp/) 如果我在SubApp的razor mark up/code behind中引用诸如“~/Images/picture.gif”之类的URL,它将解析为SubApp的根:www.example.com/SubApp/Im

使用ASP.NET MVC3和Razor&C#

假设我有一个通过IIS设置为作为普通网站运行的应用程序,但现在我想将此应用程序作为另一个网站下的子应用程序运行。例如,子应用程序将存储在网站根目录下名为“SubApp”的文件夹中(例如www.example.com/SubApp/)

如果我在SubApp的razor mark up/code behind中引用诸如“~/Images/picture.gif”之类的URL,它将解析为SubApp的根:
www.example.com/SubApp/Images/picture.gif

但是,如果我通过常规HTML(在SubApp中)引用“/Images/picture.gif”,它将解析为SubApp父网站的根:
www.example.com/Images/picture.gif


有没有一种简单、可靠的方法可以将这些HTML URL解析到子应用程序的根目录,而不必重写它们以使用Razor?在这种情况下,处理URL的最佳方法是什么?

如果您处理的是浏览器直接请求的纯HTML页面,则应使用相对URL。例如,如果您有:

/SubApp
    /Images
        foo.gif
    page.html
你应使用:

<img src="foo.gif" />

在page.html内部。您可以使用“./”来访问目录等


不幸的是,如果要处理更复杂的服务器端路由方案,则需要使用某种服务器端代码来处理。

我正在将旧页面转换为MVC3,这是一堆HTML和ASP.NET控件。不幸的是,转换是一个附带项目,所以我不能一次完成所有的转换。相对URL不能很好地使用遗留控件,因为它们在多个位置使用,但对于不使用服务器端处理的页面,我会记住它们。谢谢你的意见!