我有JQuery代码:
$(document).ready(function() {
$('.LikeArea').click(function() {
var num = parseInt(this.html());
num++;
elem.html(num);
});
});
现在我想将jQuery变量 num 传递给Razor,这样我就可以使用新值更新数据库。
答案 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"];
}
...