【问题标题】:Asp net core read or write views at runtimeAsp net core 在运行时读取或写入视图
【发布时间】:2021-06-24 07:09:39
【问题描述】:

我有一个 asp .net 核心项目。在运行时,我想在编辑器中读取和修改我的视图文件夹中的视图,同时我想保存它们并立即将它们反映在网站上。

我可以使用熟悉的文件读写方法来读取和更新视图吗?我可以在运行时执行此操作吗? 我该怎么做?最好的方法是什么?

【问题讨论】:

    标签: asp.net-mvc asp.net-core view runtime


    【解决方案1】:

    您可以安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet 包来启用运行时编译。

    1.安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet 包。

    2.更新项目的Startup.ConfigureServices 方法以包含对AddRazorRuntimeCompilation 的调用:

    services.AddControllersWithViews().AddRazorRuntimeCompilation();
    

    参考:

    https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-5.0&tabs=visual-studio#enable-runtime-compilation-in-an-existing-project

    【讨论】:

    • 嗨 Rena,首先,非常感谢您的回答。我想根据你的回答做一个测试。但是,我无法弄清楚如何做到这一点。我安装您指定的软件包就足够了吗?安装此包后,如何读写相关视图?我目前正在使用 streamreader 从视图文件夹中读取它并使用 streamwriter 再次写入它,我得到了我想要的。但是,我不知道当我把它扔到现场时它是否会给我带来问题。我想知道最好的方法。
    • 嗨@SerkanCA,在您安装包并在启动中添加此服务后,如果您在visual studio中更改视图或后端代码,您可以在运行时看到更改。
    • 那我就问你这个问题。假设我按照您所说的安装了软件包并将它们添加到启动中;现在我有一个管理面板。在这个管理面板中,我列出了 views 文件夹中的所有视图。当用户在这里选择一个视图时,我在代码编辑器中显示它。稍后,当用户更改此代码并说保存时,我将相关更改写入现有视图文件与 streamwriter。在这种情况下,是否真的不会因为我在运行时写入该视图而收到任何错误?
    猜你喜欢
    • 2017-06-12
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多