所以我在我的.cshtml文件中有这样的消息来源:
@if (Model.IsAdmin)
{
$("#back-button").click(function () {
window.location.href = "@(Url.Action("ChooseEvent", "Console", new RouteValueDictionary { { "eventId", Model.EventId } }))";
});
}这似乎导致各种构建时错误出现在我的VS2010 IDE中,从“预期的”到“意外的字符'$'”。
我尝试过这样包装“$”:
<text>$("#back-button")</text>.click(function () {
window.location.href = Url.Action("ChooseEvent", "Console", new RouteValueDictionary { { "eventId", Model.EventId } });
});但这会导致在第一个支撑上出现关于“预期”的错误。
这是一个较旧的.aspx文件,我正试图将其转换为Razor。原始消息来源如下所示:
<% if (Model.IsAdmin)
{ %>
$("#back-button").click(function () {
window.location.href = "<%= Url.Action("ChooseEvent", "Console", new RouteValueDictionary { { "eventId", Model.EventId } }) %>";
});
<% } %>jQuery和Razor不为我合作。
我该如何克服这些错误?
发布于 2014-12-29 17:10:42
这样做是有效的:
@if (Model.IsAdmin)
{
<text>$("#back-button").click(function () {
window.location.href = '@Url.Action("ChooseEvent", "Console", new RouteValueDictionary { { "eventId", Model.EventId } })';
});</text>
}这里我不能用@作为JavaScript的前缀(就像调用JavaScript函数@myJavaScriptFunction时一样),所以我不得不使用更麻烦的符号。
发布于 2014-12-29 23:48:16
您可以使用@:从剃须刀切换回HTML。
我认为@:可能只适用于一行,因此您可能需要在其中添加一行:
例如:
@if (Model.IsAdmin) {
@:$("#back-button").click(function () {
@:window.location.href = '@Url.Action("ChooseEvent", "Console", new RouteValueDictionary { { "eventId", Model.EventId } })';
@:});
}https://stackoverflow.com/questions/27692846
复制相似问题