我的项目结构:
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
。
答案 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内容组合。