2013-04-04 18 views
2

如何在Razor视图中访问C#代码段中的JavaScript变量?这里是我的意思的例子:Razor MVC中C#语句中的JavaScript变量

function mixIt(id) { 
    var markup = '<div>' + @Model.Shaker.FirstOrDefault(x => x.ShakerID == id) + '</div>'; 
    return markup; 
} 

通知我在哪里检查ID,这个ID是一个JavaScript参数。上面的代码不起作用,我不知道如何让它工作。谷歌搜索没有带来任何有用的东西。

+2

你不能。该变量是客户端..并且在服务器呈现页面时不可用。你可以做的最好的事情是向服务器传递'id'的Ajax请求。 – 2013-04-04 02:19:37

+2

Razor在服务器上运行,JavaScript在浏览器中运行。那是两台不同的电脑。您需要了解更多关于网络的客户端/服务器行为... – Stoive 2013-04-04 02:19:40

+0

谢谢。我老实说不知道。哈很好认识。我将不得不重新考虑这个问题,并为解决方案提出一种不同的方法。 :) – Ciwan 2013-04-04 02:23:32

回答

3

简单地说,你将不能够,JavaScript代码会在为C#/剃刀将服务器上执行的浏览器执行。这意味着您的Razor片段的结果将在响应发送到浏览器之前生成。