最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - MVC3 Razor not recognizing when to stop parsing - Stack Overflow

programmeradmin0浏览0评论

Here's what I'm trying to do:

$(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'
        });
    }
});

If something is true, then output this Javascript code to the page.

But I'm getting the error:

CS1056: Unexpected character '$'

How can I tell Razor to stop parsing and output whatever is in the conditional statement?

Here's what I'm trying to do:

$(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'
        });
    }
});

If something is true, then output this Javascript code to the page.

But I'm getting the error:

CS1056: Unexpected character '$'

How can I tell Razor to stop parsing and output whatever is in the conditional statement?

Share Improve this question asked May 4, 2012 at 0:59 Only Bolivian HereOnly Bolivian Here 36.8k65 gold badges167 silver badges257 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 10

Use <text>...</text> around the code.

Read on how it works here:

http://weblogs.asp/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

The tag is an element that is treated specially by Razor. It causes Razor to interpret the inner contents of the block as content, and to not render the containing tag element (meaning only the inner contents of the element will be rendered – the tag itself will not).

This makes it convenient when you want to render multi-line content blocks that are not wrapped by an HTML element.

$(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>
    } 
}); 
发布评论

评论列表(0)

  1. 暂无评论