5

これが私がやろうとしていることです:

$(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に指示するにはどうすればよいですか?

4

1 に答える 1

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>
    } 
}); 
于 2012-05-04T01:15:40.213 に答える