javascript - 如何从 Razor 部分引用 javascript 变量?

标签 javascript c# css asp.net-mvc razor

我正在尝试将 CSS 文件动态呈现到我的 View 中,但该文件的部分位置位于 javascript 变量中。

目前我有:

@section Styles {
    @{

        <link href="@Url.Content(Model.CssPath)" rel="stylesheet" type="text/css" />
     }
}

但我需要在路径中包含变量,如下所示:

@section Styles {
    @{
       var pathPrefix = "somePath/";
        <link href="@Url.Content(pathPrefix + Model.CssPath)" rel="stylesheet" type="text/css" />
    }
}

我知道服务器端代码是在 javascript 变量存在之前求值的,那么我还能如何实现这一点呢?

最佳答案

首先 - 为什么要混合客户端/服务器端代码?

您不能将 JS 变量与服务器端生成的内容一起使用,因为 - 如您所说 - 它是在客户端浏览器访问 JS 代码之前在服务器上执行的。这是预期的行为。

如果这个变量值可以在服务器端确定,你应该把它移到那里。

如果必须在客户端生成,可以生成<link>使用 document.createElement('link'); 标记但这对我来说很奇怪 :)

关于javascript - 如何从 Razor 部分引用 javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31806924/

相关文章:

javascript - 创建重复的js数组

C# GemBox Excel 导入错误

html - 为什么我的媒体查询在 WordPress Weaver Xtreme 主题中不起作用?

javascript - D3.js 附加错误位置

javascript - 多张图片(xml -> javascript -> CSS)被覆盖,只显示一张图片

c# - 如何在多行文本框中添加文本?

c# - 更改 Enum.Format 分隔符

javascript - 尝试通过单击表格标题对表格列进行排序

jquery - 如何控制 div 重叠?

javascript - 从另一个函数向函数内部的对象添加值