【问题标题】:Can CSHTML files run directly?CSHTML 文件可以直接运行吗?
【发布时间】:2018-08-02 18:01:18
【问题描述】:

我刚刚使用 Razor V2 语法启动 asp.net。当我在 Visual Studio 中开发时,一切都很好,但是当我尝试直接从浏览器运行 .CSHTML 文件时,它们不起作用。
我想知道.CSHTML文件是要直接运行还是必须在浏览器不能直接调用的其他Web应用程序段中使用?

【问题讨论】:

  • 当您构建和调试应用程序时,它应该被部署到 ASP.NET 开发服务器。当该服务器正在运行时,您应该能够从浏览器访问这些页面。开发服务器将处理呈现返回给浏览器的 HTML 的服务器代码。

标签: c# asp.net razor


【解决方案1】:

是的 - cshtml 页面可以直接运行。如果您构建 ASP.NET Web Pages (Razor) 站点,您可以直接请求 .cshtml 页面,它们将被提供(除非文件名以下划线开头)。

您可以通过转到文件 » 新建 » 网站来构建 Razor 网页站点。您可以从此处获取有关 ASP.NET 网页的更多信息:http://www.asp.net/web-pages。它是 ASP.NET 开发新手的推荐起点。

[更新] 它们也可以在用作 ASP.NET Core 2.0 中引入的 Razor Pages site 的一部分时直接运行。

【讨论】:

  • 我可以问一个问题吗? asp应用程序对位置或文件夹敏感吗?因为当我将站点部署到根目录的子文件夹时,由于访问捆绑的 dll 文件和程序集时出现问题,asp 出现了一些错误,但是当我将站点部署到根文件夹时,问题解决了。我想我应该在 web.config 中添加/更改一些内容,以帮助应用程序在将整个应用程序移动到新文件夹时找到程序集。
  • 我认为您需要针对您的问题发布一个单独的问题。,如果不详细了解您做了什么,您遇到了什么错误等,几乎不可能进行诊断,并且 cmets 不是最好的地方那。但原则上,URL 映射到文件系统位置,所以是的,Razor 网页站点在文件夹结构方面很敏感。
【解决方案2】:

默认情况下,mvc 使用 web.config 中的 http 处理程序阻止访问视图。

【讨论】:

  • cshtml 文件旨在从控制器操作中返回,并且从不直接调用
  • 那么什么类型的文件可以调用它们呢?我对 ASP.Net 中的 MVC 模型不太了解。
  • CSHTML 文件代表应用程序中的网页。当你从浏览器请求一个网页时,页面请求将被服务器接收,然后 MVC 页面生命周期将开始。 CSHTML 文件是网页的“视图”。
  • Cshtml 文件是 MVC 的“视图”,因此它们只能由控制器访问。这有意义吗?
  • 在深入研究 MVC 之前从这里开始可能是个好主意:asp.net/mvc/tutorials/older-versions/overview/…
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多