这是我想要做的事情:
$(document).ready(function () {
@if (ViewBag.VerifyIfLoggedIn) {
$("#needlogin-popup").dialog({
modal: true,
closeOnEscape: true,
minHeight: 384,
minWidth: 596,
resizable: false,
show: {
effect: 'slide',
duration: 500,
direction: 'up'
},
hide: {
effect: 'slide',
duration: 250,
direction: 'up'
},
title: 'Inicie Sesion'
});
}
});
如果有的话,请将此Javascript代码输出到页面。
但我收到了错误:
CS1056:意外的字符' $'
如何告诉Razor停止解析并输出条件语句中的任何内容?
答案 0 :(得分:10)
在代码周围使用<text>...</text>
。
了解它的工作原理:
http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx
标签是由Razor专门处理的元素。它 导致Razor将块的内部内容解释为 内容,并且不呈现包含标记元素(意思是 只会呈现元素的内部内容 - 标签本身不会)。
这使得在想要渲染多行内容时非常方便 未被HTML元素包装的块。
$(document).ready(function () {
@if (ViewBag.VerifyIfLoggedIn) {
<text>$("#needlogin-popup").dialog({
modal: true,
closeOnEscape: true,
minHeight: 384,
minWidth: 596,
resizable: false,
show: {
effect: 'slide',
duration: 500,
direction: 'up'
},
hide: {
effect: 'slide',
duration: 250,
direction: 'up'
},
title: 'Inicie Sesion'
}); </text>
}
});