MVC3 Razor无法识别何时停止解析

Onl*_*ere 4 javascript conditional razor asp.net-mvc-3

这是我正在尝试做的事情:

$(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'
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

如果某些内容为true,则将此Javascript代码输出到页面.

但是我收到了错误:

CS1056:意外字符'$'

我如何告诉Razor停止解析并输出条件语句中的任何内容?

Eri*_*sch 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>
    } 
}); 
Run Code Online (Sandbox Code Playgroud)