访问 JS 文件中的 ViewModel (asp.net MVC)

2024-04-11

我一直在 Razor 中使用类似的东西

@section Includes {  
      <script type="text/javascript">
        var somestuffneeded = @(Html.Raw(Json.Encode(Model.datamember))); 


      </script>

}

但这看起来不太干净,因为它与布局位于同一个文件中(因为它不能直接在 .js 文件中工作)。 有什么干净的替代方法来访问和查看 .js 文件中传递的 ViewModel 吗?


您无法直接访问 .js 文件中的 ViewModel,因为它是 Web 服务器上的静态文件。但有一个解决方法,您可以使用参数将 ViewModel 传递到 .js 文件。

一些 .js 文件

function Common() {
    var _this = this;

    this.viewModel = null;

    this.showViewModel = function () {
       alert(_this.viewModel);
    };
}

var common = null;
$().ready(function () {
    common = new Common();
});

然后在加载视图时传递 ViewModel

@section Includes {  
  <script type="text/javascript">
    var somestuffneeded = @(Html.Raw(Json.Encode(Model.datamember))); 
    $(document).ready(function () {
          common.viewModel = somestuffneeded;
          common.showViewModel();
    });
  </script>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问 JS 文件中的 ViewModel (asp.net MVC) 的相关文章

随机推荐