MVC4 - 有没有办法路由根到“正常”的未处理的html页面?(MVC4 - Is there

2019-07-31 14:15发布

我有一个MVC4应用程序,但我主要使用它的的WebAPI部分。 我想有发回给用户(然后将使用KnockoutJS或KendoUI从控制器的WebAPI拉JSON)一个“普通的老HTML”文件。

我知道我能做到这一点:

routes.IgnoreRoute("{page}.html");

然后,如果我浏览到“本地主机/ index.html的”它不只是成功返回我的.html页面。 可是,我真的要地图“根”默认路径“本地主机/”返回我的index.html。

我尝试这样做:

routes.MapPageRoute("root", "", "~/index.html");

但引发错误:

没有为扩展名没有注册的生成提供“的.html”。 可以注册一个在machine.config中或web.config中的<汇编> <buildProviders>部分。 请确保有一个BuildProviderAppliesToAttribute属性包括值“网络”或“全部”。

任何人对我怎样才能使这项工作任何想法? 我刚打的是返回一个普通的HTML页面默认的控制器,但它似乎是矫枉过正要经过整个ASP.NET堆栈曾经为HTML页面,然后只需调用的WebAPI URL通过ASP.NET堆回去以获取页面的模型的一些JSON数据。

我基本上只是想“跳过”的所有MVC管道和具有IIS送我回的HTML页面,就好像它是不是一个ASP.NET应用程序,或者至少要做到尽可能少的处理成为可能。

Answer 1:

以下添加到您的路由配置:

routes.IgnoreRoute("");


文章来源: MVC4 - Is there a way to route the root to a “normal” unprocessed html page?