【问题标题】:How to deploy cshtml files in asp.net core如何在asp.net core中部署cshtml文件
【发布时间】:2020-02-15 06:41:44
【问题描述】:

如何在asp.net core中部署cshtml文件? 如果我发布我的 asp.net 核心项目,则不会发布 cshtml。 如何在Chrome中直接运行cshtml文件?

这里有一些代码可以进一步解释这一点

我的 Program.cs 文件包含

public static void Main(string[] args)
{
    //since zoho can pass only 10 parameters in one webhook we are splitting into two updates
    //update1
    UpdateClassBoatFromZohoModel upd = new UpdateClassBoatFromZohoModel();
    upd.OnGet();
    //update2
    UpdateClassBoatFromZohoModel2 upd2 = new UpdateClassBoatFromZohoModel2();
    upd2.OnGet();

    //CreateWebHostBuilder(args).Build().Run();
}

现在UpdateClassBoatFromZoho.cshtmlUpdateClassBoatFromZoho2.cshtml 这些文件中的每一个都将使用不同的查询字符串参数在浏览器中提供。该怎么做?

【问题讨论】:

  • 您好,您能提供一些额外的信息或代码示例吗?
  • 当我发布它时,它只是将所有内容转换为 dll。我想在浏览器中单独运行 cshtml 文件。该怎么做?
  • 我想您可以说 .cshtml 文件类似于 .cs 类文件:因为文件本身不是发布的“静态文件”,而是通过编译到程序集中使用的。您需要将 .cshtml 文件公开为视图或剃须刀页面等,而不是将其视为静态文件或资源。
  • @Michael 怎么做?
  • 我想在 google chrome 中打开 cshtml 文件,并在 cshtml 文件使用 queryhelpers 解析的查询字符串中传递参数。例如。 abc.cshtml?x=1&y=2&z=3 等...

标签: asp.net-core


【解决方案1】:

你不能,因为这不是任何工作的方式。 cshtml 文件不能单独运行。一方面,它们不提供服务,它们包含仅与 ASP.NET Core 请求管道的其余部分一起工作的预处理代码。即使您可以直接访问它们,它们也只是一个文本文件(即网络浏览器不知道如何处理它)。

【讨论】:

  • 但在 google 搜索中显示“是的 - cshtml 页面可以直接运行。如果您构建 ASP.NET Web Pages (Razor) 站点,您可以直接请求 .cshtml 页面,它们将是已提供(除非文件名以下划线开头)。您可以通过转到文件 » 新建 » 网站来构建 Razor 网页站点。2014 年 3 月 15 日"
  • 那是 ASP.NET 的,not ASP.NET Core 和网页无论如何都是失败的。没有人使用它,也没有得到微软的开发重点。
  • Razor 页面在概念上很接近,但您仍然没有直接调用该页面。它是部分基于文件系统路径的路由,但不完全基于。
  • 我想在 google chrome 中打开 cshtml 文件,并在 cshtml 文件使用 queryhelpers 解析的查询字符串中传递参数。例如。 abc.cshtml?x=1&y=2&z=3 等
  • 不能。不可能。不会发生。
【解决方案2】:

页面/视图的预编译是默认行为。可以跳过此步骤并发布原始 .cshtml 文件,从而以类似于经典 ASP 或 ASP.NET 网页框架的方式更新页面/视图。也就是说,您可以在应用程序运行时对.cshtml文件进行修改,然后将它们复制到Web服务器,新的内容会立即生效。

如果您想采用这种方法,请将 MvcCompileOnPublish 节点添加到您的 .csproj 文件中,并将值设置为 false:

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>

这将产生一个包含内容页面的 Pages 文件夹和一个包含应用程序所需库的 refs 文件夹:

【讨论】:

  • 如果我这样做,如何在浏览器中使用查询字符串参数调用单个 cshtml 文件?
  • 使用查询字符串参数导航到页面/视图路径
  • 那么example.com/myapp/…> 会起作用吗?
  • 您没有任何权限?你试过了吗?
  • 当应用程序运行时,如果你访问 url 它应该可以工作
猜你喜欢
  • 1970-01-01
  • 2018-11-21
  • 2022-01-24
  • 1970-01-01
  • 2017-09-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 2022-07-26
相关资源
最近更新 更多