【发布时间】:2017-08-20 11:35:40
【问题描述】:
我需要在同一语句中使用 Razor 语法混合和匹配 JavaScript 和 C#。我可能使用 @: wrong 在 Razor 代码中编写 JavaScript,因为 Razor 代码块中的最后一个表达式会破坏块之后的所有 JavaScript。
var myVar = document.getElementById("myId");
var linkText = "someText";
var JSVar = X; //X represents some number
@{
int ID = JSVar;
@:myVar.innerHTML = @Html.ActionLink(@:linkText, "Details", "Cards", new { Id = ID});
}
我也尝试将其作为没有代码块的单个表达式来完成,如下所示:
myVar.innerHTML = @Html.ActionLink(@:linkText, "Details", "Cards", new { Id = @:IdVar });
这也会破坏以下 JavaScript。
【问题讨论】:
-
X 的值是从哪里得到的?
-
X 与问题无关。它表示一个 JavaScript var 值(它是一个数字)。
-
X 在服务器端创建视图时甚至不存在。当在客户端单击 myId 时,您是否尝试将 X 值附加到 ULR?
-
@Win 忽略“X”。变量有效。以上只是我代码的摘录,唯一有问题的代码是 Razor 块。 JS 变量只是为了让读者了解我如何尝试混合 JS 和 Razor。
标签: razor asp.net-core