首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >混合Razor和Javascript代码

混合Razor和Javascript代码
EN

Stack Overflow用户
提问于 2011-04-11 05:45:32
回答 7查看 197.9K关注 0票数 183

我对如何混合使用razor和js感到非常困惑。这是我坚持使用的当前函数:

<script type="text/javascript">

        var data = [];

        @foreach (var r in Model.rows)
        {
                data.push([ @r.UnixTime * 1000, @r.Value ]);
        }

如果我可以用<c#></c#>声明c#代码,其他一切都是JS代码--这就是我想要的:

<script type="text/javascript">

        var data = [];

        <c#>@foreach (var r in Model.rows) {</c#>
                data.push([ <c#>@r.UnixTime</c#> * 1000, <c#>@r.Value</c#> ]);
        <c#>}</c#>

实现这一目标的最佳方法是什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-04-11 05:54:20

使用<text>

<script type="text/javascript">

   var data = [];

   @foreach (var r in Model.rows)
   {
      <text>
            data.push([ @r.UnixTime * 1000, @r.Value ]);
      </text>
   }
</script>
票数 354
EN

Stack Overflow用户

发布于 2011-04-11 05:54:04

在代码块(例如,@foreach)中,您需要标记标记(或者,在本例中是Javascript) with @: or the tag

在标记上下文中,您需要用代码块(@{ ... }@if,...)包围代码。

票数 86
EN

Stack Overflow用户

发布于 2016-04-29 21:49:48

永远不要混用更多的语言。

<script type="text/javascript">
    var data = @Json.Encode(Model); // !!!! export data !!!!

    for(var prop in data){
      console.log( prop + " "+ data[prop]);
    }

如果有问题,你也可以尝试

@Html.Raw(Json.Encode(Model));
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5614941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档