【问题标题】:Access ViewBag in cshtml file在 cshtml 文件中访问 ViewBag
【发布时间】:2019-09-23 11:30:57
【问题描述】:

我无法访问赋予 windows 的值 ,给它的值没有在js文件中定义

这是控制器:

      ViewBag.CurrentRef_ID = Ref_ID;

     ViewBag.CurrentTas_ID = Tas_ID;
return view(model)

这是 Cshtml:

@section Scripts
    {
<script>
    window.CurrentRef_ID =@ViewBag.CurrentRef_ID;
    window.CurrentTas_ID =@ViewBag.CurrentTas_ID;

</script>
}

这是 js:

app.controller("RequestJobsCtrl", ["$scope", "$timeout", "RequestJobsServices", function ($scope, $timeout, services) {

    var self = this;
 self.CurrentRef_ID = window.CurrentRef_ID;

    self.CurrentTas_ID = window.CurrentTas_ID;

js文件中window.CurrentRef_ID和window.CurrentTas_ID的值为undefined

【问题讨论】:

  • 后一个 JS 可能在与前一个 JS 实际设置值之前运行。但是,由于这完全脱离了上下文,因此无法确定。
  • 未能重现问题,我成功获得了window.CurrentRef_ID window.CurrentTas_ID 的值。 RequestJobsServices 的定义是什么?您能否分享可以重现该问题的视图和 js 文件的更多详细信息?

标签: javascript asp.net-core razor window viewbag


【解决方案1】:

尝试将值放在隐藏的 div 中 -

查看:

<div style="display: none;" id="RefValueId" data-id=@ViewBag.CurrentRef_ID> </div>
<div style="display: none;" id="TasValueId" data-id=@ViewBag.CurrentTas_ID> </div>

JS:

var RefId = $("#RefValueId").data("id");
var TasId = $("#TasValueId").data("id");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    相关资源
    最近更新 更多