【问题标题】:How to view MVC .cshtml file as html?如何以 html 格式查看 MVC .cshtml 文件?
【发布时间】:2016-03-22 13:41:56
【问题描述】:

究竟如何渲染一个 .cshtml 文件?

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

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

不提供此类页面。

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

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

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

【问题讨论】:

  • 网址应该是/mobile/WebApplication1/Index
  • 我试过了。这只给出了这个错误:您要查找的资源已被删除、名称已更改或暂时不可用。
  • 您的 .cshtrml 文件是否在您的 views 文件夹中?
  • 啊等等,你从哪里得到/mobile/WebApplication1/ 位?如果cshtml在Views/Home,则只需要写localhost/Index

标签: asp.net-mvc


【解决方案1】:

在 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

【讨论】:

  • 你能给我或指出一个将呈现视图的控制器操作的工作示例吗?
【解决方案2】:

您不能直接通过名称访问 MVC 视图。永远...!

您可以调用一个控制器操作,这是通过一个 URL 完成的,例如 /WebApplication1/Index

上面的网址意味着两件事:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-25
    • 2014-08-18
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 2011-08-27
    相关资源
    最近更新 更多