如何在 Razor .cshtml 和 Html 文件之间共享 JS 变量值(同一解决方案中的 Html 解决方案)

Posted

技术标签:

【中文标题】如何在 Razor .cshtml 和 Html 文件之间共享 JS 变量值(同一解决方案中的 Html 解决方案)【英文标题】:How to Share JS Variable values between Razor .cshtml and Html file (a Html solution in the same solution) 【发布时间】:2020-03-04 13:12:46 【问题描述】:

我有一个 MVC Razor 解决方案,其中我有一个单独的 html 项目(附件中的文件夹名称 Sub_HtmlProject)。

问题:如何使用此 Razor _Layout.cshtml 中定义的 javascript 变量 'razorJSVar' Views > Shared > _Layout.cshtml

收件人:

Sub_HtmlProject > index.html

请注意,我希望有一个不使用 LocalStorage、Session、DB 存储或任何浏览器存储选项的解决方案。

**

【问题讨论】:

共享是指两个不同的页面(在不同的浏览器标签中)? 您在此应用程序中渲染或调用 index.html 的位置? 【参考方案1】:

开发者_29,

问题是您需要将 index.html 制作成 index.cshtml 并使用该 index.cshtml 页面上的布局。

【讨论】:

【参考方案2】:

创建一个 Layout.cs 类

public class _Layout

    private _Layout()  


    public static _Layout GetTestVarHere()
    
        _Layout layoutModel = new _Layout();
        layoutModel.Name = "testStringValue";
        return layoutModel;
    


    public string Name  get; set; 

从 Index.html 调用类似 -

 @

    var razorJSVar = Shared._Layout.GetTestVarHere();

在你的 index.html 中使用

【讨论】:

以上是关于如何在 Razor .cshtml 和 Html 文件之间共享 JS 变量值(同一解决方案中的 Html 解决方案)的主要内容,如果未能解决你的问题,请参考以下文章

如果 .cshtml 文件中存在 razor/C# 错误,如何在 VS 2013 中使构建失败? [复制]

如何在 ASP.NET Core Razor Pages 项目的 _layout.cshtml 文件中使用 Razor Page Using Entity Framework 作为部分视图?

如何将配置设置添加到 _Layout.cshtml 共享 Razor 页面

使用 razor cshtml 渲染 XML 时,如何在 Visual Studio 中修复或删除验证

如何在 asp.net core .NET6(Razor 页面)中的单个 cshtml 中显示来自多个表/模型的数据

在 ASP.NET Core Razor 页面中更改 cshtml 文件的名称