如何将JQuery变量传递给Razor?

时间:2012-01-29 19:23:46

标签: jquery variables razor

我有JQuery代码:

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

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

1 个答案:

答案 0 :(得分: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
            }
        });
    });
});

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

@{
    var num = Request["num"];
}
...