Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.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
如何在url asp.net mvc 4中添加extension.html?_Asp.net_Asp.net Mvc_Routes_Web Config_Asp.net Mvc Routing - Fatal编程技术网

如何在url asp.net mvc 4中添加extension.html?

如何在url asp.net mvc 4中添加extension.html?,asp.net,asp.net-mvc,routes,web-config,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Routes,Web Config,Asp.net Mvc Routing,我有网址: http://localhost:1714/Message/Index 我想展示: http://localhost:1714/Message/Index.html 如何操作?您需要修改Web.config以将HTML文件的请求映射到TransferRequestHandler 像这样: <system.webServer> ... <handlers> <add name="HtmlFileHandler" path="*.

我有网址:
http://localhost:1714/Message/Index

我想展示:
http://localhost:1714/Message/Index.html


如何操作?

您需要修改Web.config以将HTML文件的请求映射到TransferRequestHandler

像这样:

<system.webServer>
    ...
    <handlers>
      <add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
    ...
  </system.webServer>

访问:{port}/Home/Index.html会将您发送到您的主页。

您可以通过在.htaccess文件中写入url重写方法来实现这一点。为什么要这样做?MVC路由映射的整个思想是将实现隐藏在整洁的url后面。我只是想定制url。我厌倦了看没有扩展名的URL。
public static void RegisterRoutes(RouteCollection routes)
        {
            ...
            routes.MapRoute("Default", "{controller}/{action}.html", new { controller = "Home", action = "Index" });
            ...
        }