我想使用C#/ MVC5创建一个具有以下文件夹结构的Web应用程序,其中我的客户端源与服务器的源代码分开
我希望能够在客户端文件夹中调用我的不同文件,而无需文件夹' client',例如:
<img src="assets/images/logo.png" />
而不是
<img src="client/assets/images/logo.png" />
此外,我想将所有其他文件路由到client / index.cshtml。 I though about adding a route like this:
routes.MapRoute(
name: "Default",
url: "{*anything}",
defaults: new { controller = "Home", action = "Index" }
);
HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
return View("~/client/index.cshtml");
}
}
为我的客户端文件夹中的每个文件夹添加this post中指定的规则。例如:
<rule name="client" stopProcessing="true">
<match url="^assets/?(.*)$" />
<action type="Rewrite" url="/client/assets/{R:1}" />
</rule>
这个问题是每当我试图获取我的图像时
http://localhost:49312/client/assets/images/logo.png
或
// returns to http://localhost:49312/client/assets/images/logo.png
http://localhost:49312/assets/images/logo.png
我找不到&#39;未找到的资源&#39;错误
什么是正确的方法?
答案 0 :(得分:0)
我刚刚发现它为什么不起作用: 我将web.config文件从默认的Views文件夹复制到我的客户端文件夹。
此文件中有一个阻止处理程序:
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
我做了我在初始帖子中说的所有内容以及删除此处理程序,现在效果很好
答案 1 :(得分:0)