如何在行动中显示html页面

时间:2016-08-25 17:54:27

标签: html asp.net-mvc asp.net-mvc-5

我的项目结构:

enter image description here

RouteConfig:

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }

index.html:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
<h3>hi</h3>
</body>
</html>

家庭控制器:

 public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    }

WebApi是启动项目。

如何在index.html操作中显示Index或将Index view替换为index.html

2 个答案:

答案 0 :(得分:0)

文件有不同的版本,你不能这样做。

为什么不使用home / index操作和views / home / index.cshtml来放置index.html内容?

或者您可以在主页/索引操作上重定向到index.html网址。

答案 1 :(得分:0)

默认情况下,您的控制器操作将返回Index.cshtml视图而不是Index.html页面。如果你想在WebClient项目上对Index.html进行重定向,请在控制器内部修改你的Index操作方法(设置你的WebClient的完整地址路径,因为替换站点根路径的tidle符号不起作用在这种情况下):

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return Redirect("http://ServerAddressOrName:Port/WebClient/Index.html");
    }
}

之后,您需要构建两个项目,然后将WebApi和WebClient分配到不同的站点,因为不可能将它们与不同的Web.config内容组合。