Using Html instead of csHtml

2020-02-10 02:54发布

I want to use pure html page instead of cshtml with MVC .net. But when I add view by right clicking Index i can see only two options.

 public class HomeController : Controller
{
    //
    // GET: /Home/

    public ActionResult Index()
    {
        return View();
    }}
  1. Cshtml (Razor)
  2. Aspx

I followed Can I serve .html files using Razor as if they were .cshtml files without changing the extension of all my pages?

forum but still no help. I still don’t see an option to add html instead of cshtml

I also tried adding html page directly to view folder but i dont know how to point that view from my controller function.

Replacing Index.cshtml with Index.html gave me this error

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:

~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml

5条回答
小情绪 Triste *
2楼-- · 2020-02-10 03:22

In order to render plain HTML file you can use

return new FilePathResult(HtmlPath, "text/html");

where HtmlPath is

Server.MapPath(string.Format("~/Views/{0}/{1}.html", YourControllerName, YourHtmlfileName))
查看更多
手持菜刀,她持情操
3楼-- · 2020-02-10 03:23

If you right click on your Content folder you can select 'Add new item...'. You can then select 'Web' in the tree on the left and choose the 'HTML Page' on the right.

This should add you an HTML page.

查看更多
够拽才男人
4楼-- · 2020-02-10 03:24

Add a file. Rename it. F2 in solution explorer.

查看更多
Emotional °昔
5楼-- · 2020-02-10 03:37

You can create a View with a regular cshtml file add it to the controller and in the View itself just use pure html and add the following to the top:

@{
    Layout = null;
}

This way you use a cshtml file that doesn't use you master layout file. And just serves whatever html you put in it.

查看更多
Lonely孤独者°
6楼-- · 2020-02-10 03:39

If it's a static html file you don't need to point your controller to it, because IIS can serve them just fine. Add an html file to your project (anywhere but NOT in the viewsfolder), and point your browser to that file.

查看更多
登录 后发表回答