如何将MVC .cshtml文件视为html?

时间:2016-03-22 13:41:57

标签: asp.net-mvc

如何呈现.cshtml文件?

我是asp.net的新手。我使用Visual Studio的模板创建了一个MVC项目。显然,所有模板都有.cshtml用于默认/索引文件。但是当我尝试查看它时,我的服务器给了我这个错误:

应用程序中的服务器错误。

此类网页未投放。

描述:未提供您请求的页面类型,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的网址,确保拼写正确。

请求的网址:/mobile/WebApplication1/Index.cshtml

那么,我究竟如何查看索引文件?我是否需要通过某些内容将其转换为.html或以某种方式呈现它?很少起床和跑步将不胜感激。感谢。

2 个答案:

答案 0 :(得分:3)

ASP.NET MVC上下文中扩展名为.cshtml的文件是视图。它们无法单独查看(由Web服务器提供)。您需要一个将呈现视图的控制器操作。

注意:你可以使用一些"技巧"修改IIS设置和应用程序以启用向浏览器请求提供.cshtml文件,但这不是正常行为。

假设您的视图位于~/Views/Index.cshtml,这是一个简单的控制器操作的简单示例:

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

此控制器应放在:~/Controllers/ExampleController.cs

您将访问呈现的页面:localhost/example/index

有关ASP.NET MVC的更多信息,请访问:http://www.asp.net/mvc/overview/getting-started/introduction/getting-started

答案 1 :(得分:2)

您无法直接通过其名称访问MVC视图。自从...!

您可以做的是调用Controller操作,这可以通过/WebApplication1/Index等网址完成。

以上网址意味着两件事:

  • 必须有一个名为WebApplication1Controller.cs
  • 的班级
  • 并且该类必须有方法public ActionResult Index()

方法Index将确定将显示哪个视图(如果有),以及将要发送到该视图的数据以供使用。

如果方法Index执行return View();,则会有一个隐含的规则,即将显示具有相同名称的视图(在本例中为Index.cshtml)。
或者,如果由于某种原因Index执行return View("Wow");,则会显示名为Wow.cshtml的视图。