我正在尝试将 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/