javascript - 无法在 JavaScript 中访问模型的属性

标签 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;
                });

这是渲染的小部件模型 http://gyazo.com/4a960969d9bedbd71efb1dac9b99c7e6

我也尝试过像这样访问它,但是似乎没有任何属性卡在小部件变量上。

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;
                    }

最佳答案

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

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

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

@:<text>标签。

所以,知道了这一点,你可以做类似的事情

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

参见Mix Razor and Javascript codeUsing Razor within JavaScript

关于javascript - 无法在 JavaScript 中访问模型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30370798/

相关文章:

c# - 无法从 app.config 文件读取新添加的连接字符串

c# - 如何显示哪个子正则表达式匹配失败?

javascript - IE 中的 sort() 函数

javascript - 语法错误 : identifier starts immediately after numeric literal in Firebug

javascript - Node Express 中的 res.sendfile 以及传递数据

c# - 从 Internet 下载 HTML 后,字符串中的字符发生了变化

php - foreach 循环中的 str_replace 错误

javascript - 一组 div 上的鼠标悬停无法正常工作

javascript - 将 Azure MobileServiceClient 与本地后端连接

javascript - 用变量预填充 HTML 值?