无法在javascript

时间:2015-05-21 10:14:33

标签: javascript c# jquery json asp.net-mvc-5

我在这里尝试了一些建议,但似乎没有用,我似乎无法访问模型的属性。这就是我到目前为止所拥有的

var widgetModel = '@Html.Raw(Json.Encode(Model.widgets))';
                [].forEach.call(widgetModel, function (widget) {
                    var template = document.querySelector('#panel-template');
                    var panelTitle = template.querySelector('.panel-title');
                    panelTitle.textContent = widget.WidgetName;
                });

这是呈现的widgetmodel http://gyazo.com/4a960969d9bedbd71efb1dac9b99c7e6

我也试图像这样访问它,但似乎没有任何属性挂在widget变量上。

for (var i = 0; i < widgetCount; i++) {
                        var widget = widget[i];
                        var template = document.querySelector('#panel-template');
                        var panelTitle = template.querySelector('.panel-title');
                        panelTitle.textContent = widget.WidgetName;
                    }

1 个答案:

答案 0 :(得分:1)

混合使用javascript和Razor要求您使用任何代码块包围Razor调用

@{ ... }@if(condition){}

并将代码本身放在转义序列中

@:<text>代码。

所以,知道这一点,你可以做类似

的事情
@{
        <text>
            var widgetModel = '@Html.Raw(Json.Encode(Model.widgets))';
        </text>
     }

请参阅Mix Razor and Javascript codeUsing Razor within JavaScript