.js 代码的 RazorEngine 评估问题
RazorEngine evaluation issue with .js code
我正在使用 RazorEngine 评估一些 JavaScript 代码,我 运行 遇到编译失败的问题。这是一个例子:
var someBarChart = d3.select("@Model.DivId").append("svg")
.attr("width", barChartWidth + barChartMargin.left + barChartMargin.right)
.attr("height", barChartHeight + barChartMargin.top + barChartMargin.bottom)
.append("g")
.attr("transform", "translate(" + barChartMargin.left + "," + barChartMargin.top + ")");
这里的罪魁祸首是 @Model.DivId
周围的“”标记。
有人能给我指出一种评估该特定示例的方法吗?
我期待这样的结果:
var someBarChart = d3.select("someDivId").append("svg")
.attr("width", barChartWidth + barChartMargin.left + barChartMargin.right)
.attr("height", barChartHeight + barChartMargin.top + barChartMargin.bottom)
.append("g")
.attr("transform", "translate(" + barChartMargin.left + "," + barChartMargin.top + ")");
另外,当我尝试评估这样的东西时,它对我来说失败了:
@Model.BarChartName.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + barChartHeight + ")")
.call(xAxis);
在这种情况下,我期待这样的结果:
someBarChart.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + barChartHeight + ")")
.call(xAxis);
正如我提到的,我正在使用 RazorEngine 并且其默认配置为解码 Html。我还尝试了使用 var someBarChart = d3.select("@Raw(Model.Div)").append("svg")
的情况,但也无法评估。
感谢所有想法。
谢谢,
当您想在 javascript 中将剃刀值用作字符串时,请使用单引号而不是双引号:
d3.select('@Model.DivId')
@罗伯特麦基
我实际上能够使用以下语法解决它:
var @Model.DivName = d3.select("@(Model.DivId)").append("svg")
这是正确的评价。谢谢你的建议。
我正在使用 RazorEngine 评估一些 JavaScript 代码,我 运行 遇到编译失败的问题。这是一个例子:
var someBarChart = d3.select("@Model.DivId").append("svg")
.attr("width", barChartWidth + barChartMargin.left + barChartMargin.right)
.attr("height", barChartHeight + barChartMargin.top + barChartMargin.bottom)
.append("g")
.attr("transform", "translate(" + barChartMargin.left + "," + barChartMargin.top + ")");
这里的罪魁祸首是 @Model.DivId
周围的“”标记。
有人能给我指出一种评估该特定示例的方法吗?
我期待这样的结果:
var someBarChart = d3.select("someDivId").append("svg")
.attr("width", barChartWidth + barChartMargin.left + barChartMargin.right)
.attr("height", barChartHeight + barChartMargin.top + barChartMargin.bottom)
.append("g")
.attr("transform", "translate(" + barChartMargin.left + "," + barChartMargin.top + ")");
另外,当我尝试评估这样的东西时,它对我来说失败了:
@Model.BarChartName.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + barChartHeight + ")")
.call(xAxis);
在这种情况下,我期待这样的结果:
someBarChart.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + barChartHeight + ")")
.call(xAxis);
正如我提到的,我正在使用 RazorEngine 并且其默认配置为解码 Html。我还尝试了使用 var someBarChart = d3.select("@Raw(Model.Div)").append("svg")
的情况,但也无法评估。
感谢所有想法。 谢谢,
当您想在 javascript 中将剃刀值用作字符串时,请使用单引号而不是双引号:
d3.select('@Model.DivId')
@罗伯特麦基
我实际上能够使用以下语法解决它:
var @Model.DivName = d3.select("@(Model.DivId)").append("svg")
这是正确的评价。谢谢你的建议。