如何将JQuery变量传递给Razor?

如何将JQuery变量传递给Razor?

问题描述:

我有jQuery代码:如何将JQuery变量传递给Razor?

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

现在我想NUM通过jQuery的变量剃刀,所以我可以更新为新值的数据库。

+0

可能的复制[如何从JavaScript变量传递一个值给剃刀变量?](https://stackoverflow.com/questions/28317182/how-to-pass-a-value-to-razor-variable-from-javascript-variable) – 2017-06-20 15:23:10

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 
      } 
     }); 
    }); 
}); 

这将发送一个AJAX请求到/foo.cshtml模板中,你可以获取这样的变量:

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

感谢您的快速回复。但我对MVC并不熟悉。我正在使用WebMatrix。你能告诉我如何使用WebMatrix得到相同的结果吗? – Xon 2012-01-29 19:30:57

+0

@Xoni,哦,对不起,我以为你使用的是ASP.NET MVC。我已经更新了我的答案,以提供WebPages的例子。 – 2012-01-29 19:34:50

+0

@ DarinDimitrov - 我同意你的方法,但是你认为使用jQuery的'.post()'可能会更好吗?它做同样的事情,但可能会更直截了当。只是我的意见真的。 – 2012-01-29 19:40:07