我正在使用 GoJS 库绘制图形。我试图在页面上显示以下 JavaScript 代码(这是我在完成加载后需要看到的页面源代码):
myDiagram.model = new go.GraphLinksModel([
{ key: "Node26", color: "lightgreen"},
{ key: "Node25", color: "lightgreen"},
{ key: "Node33", color: "lightgreen"},
{ key: "Node42", color: "lightgreen"}],
[
{ from: "Node26, to: "Node25"},
{ from: "Node26, to: "Node33"},
{ from: "Node33, to: "Node42"},
{ from: "Node33, to: "Node41"},
{ from: "Node33, to: "Node57"},
{ from: "Node33, to: "Node25"},
{ from: "Node33, to: "Node34"}
]);
此代码是在服务器上使用 razor 语法生成的,如下所示:
@{
string nodes = "";
string links = "";
string childName;
foreach (Node node in Model.FullGraph)
{
nodes += "{ key: \"" + node.NodeName + "\"},";
@foreach (uint childId in node.ChildrenIds)
{
childName = Model.FullGraph.Find(x => x.NodeId == childId).NodeName;
links += "{ from: \"" + node.NodeName + "\", to: \"" + childName + "\"},";
}
}
}
myDiagram.model = new go.GraphLinksModel([@nodes], [@links]);
但是,在加载结果页面后,HTML 格式如下所示:
myDiagram.model = new go.GraphLinksModel([
{ key: "Node26", color: "lightgreen"},
{ key: "Node25", color: "lightgreen"},
{ key: "Node33", color: "lightgreen"},
{ key: "Node42", color: "lightgreen"}],
[
{ from: "Node26, to: "Node25"},
{ from: "Node26, to: "Node33"},
{ from: "Node33, to: "Node42"},
{ from: "Node33, to: "Node41"},
{ from: "Node33, to: "Node57"},
{ from: "Node33, to: "Node25"},
{ from: "Node33, to: "Node34"}
]);
用反斜杠转义不起作用,代码仍然用 " 替换双引号,因此不绘制图形。当我使用浏览器中的开发人员工具手动将它们替换回正常的双引号时,会绘制图形。
我也尝试过使用@转义,Html.Raw()以及。什么都不管用。有人有什么建议吗?提前感谢您的帮助!
慕姐4208626
相关分类