2012-09-23 48 views
0

我想知道如何将我用javascript制作的字符串传递给剃刀中的代码块。鉴于以下简单的几行js:将jquery字符串传递给剃刀中的代码

var k=0; 
var str1 = 'Model.FeaturedItems['; 
var str2 = '].SubHeadline.ToString();'; 
var query = str1 + k +str2; 

然后,我会如何将字符串查询传递到代码块?像这样:

    alert("@"+query); 

应该打印该行代码的结果。 编辑: 基本上我想执行此代码:Model.FeaturedItems[0].SubHeadline.ToString();并在jquery中做结果。但是,我不断收到语法错误尝试上述。

+0

你的语法错误是什么?你想在这里做什么? –

+1

目前还不清楚你想实现什么......当你的页面被渲染时,你的剃须刀视图中的代码在服务器端执行。但是你的JavaScript是在你的浏览器的客户端执行的。所以你不能将JavaScript中的值传递给剃刀中的代码,因为它们在不同的地方在不同的时间执行。 – nemesv

+0

错误是:“”“在代码块开始时无效,只有标识符,关键字,注释,”(“和”{“是有效的。 –

回答

2

javascript在客户端上运行,在服务器上运行razor,您尝试在服务器上执行客户端代码。就在代码块中使用c#

C#代码:

@{ 
    int k = 0; 
    var query = Model.FeaturedItems[k].SubHeadline.ToString(); 
} 

在客户端@query将包含一些数据,如果是在Razor视图:

<script type="text/javascript"> 
    alert(@query); 
<script> 
相关问题