如何将JQuery变量传递给Razor?

Xon*_*Xon 4 variables jquery razor

我有JQuery代码:

$(document).ready(function() {
    $('.LikeArea').click(function() {
        var num = parseInt(this.html());
        num++;
        elem.html(num);     
    });
});
Run Code Online (Sandbox Code Playgroud)

现在我想将jQuery变量num传递给Razor,这样我就可以用新值更新数据库了.

Dar*_*rov 9

Razor是一个视图引擎.当你说你想把一个jQuery变量传递给Razor时,不确定你是什么意思,因为Razor在任何javascript之前在服务器上运行.您可以使用AJAX将请求发送到服务器端模板:

$(document).ready(function() {
    $('.LikeArea').click(function () {
        var num = parseInt(this.html());
        num++;
        elem.html(num);     
        $.ajax({
            url: '/foo.cshtml',
            type: 'POST',
            data: { num: num },
            success: function(result) {
                // TODO: do something with the result returned by the 
                // foo.cshtml template
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

它会向/foo.cshtml模板发送一个AJAX请求,您可以在其中获取变量,如下所示:

@{
    var num = Request["num"];
}
...
Run Code Online (Sandbox Code Playgroud)