0

我想知道如何将我用 javascript 制作的字符串传递到 razor 中的代码块中。鉴于下面几行简单的js:

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

然后我将如何将字符串查询传递到代码块中?像这样的东西:

                   alert("@"+query);

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

4

2 回答 2

2

javascript在客户端和razor服务器上工作,您尝试在服务器上执行客户端代码。只需c#在代码块中使用:

C#代码:

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

在客户端@query将包含一些数据,如果它在剃刀视图中:

<script type="text/javascript">
    alert(@query); 
<script>
于 2012-09-23T08:51:22.083 回答
1

这是不可能的。主要原因是 JavaScript 代码在客户端运行,而剃刀视图正在服务器端呈现。在客户端ASP.NET MVC 3 Razor 上创建 SubHeadlines 数组:初始化一个 JavaScript 数组

于 2012-09-23T08:51:51.070 回答