在MVC不能拉出来数据的ViewBag(Can't pull data out of Vie

2019-09-16 16:34发布

我想拉数据从ViewBag,并把它插入到通过JS形式隐藏字段,之前提交。

它不工作。

虽然调试,我发现了JS表达的那部分是那种忽略,结果,一个“变种”被评价为空字符串。

这里的JS部分,它应该做的任务:

function setid() {
   var id = '@(ViewBag.id)';
   $('#idField').val(id);
};

在调试,我得到下面的表达,这当然会导致一个空“身份证”:

function setid() {
    var id = '';
    $('#idField').val(id);
  };

(我不知道它是唯一的障碍)

这个js功能正在被“Ajax.BeginForm”的同一页面上的“OnBegin”的说法叫。

这是驻留的形式,为我试图以分配“id”值中的HTML隐藏字段:

input type  ="hidden" name ="id" id ="idField" value ="" 

和下面的是控制器,它返回一个局部的,即呈现为一个jquery对话框:

public ActionResult openDialog()
    {
        ViewBag.id = TempData["id"];
        return PartialView("EndLoadDetailsDialog");
    }

更新:当我想起来了,我可能已经发现了这个问题。 请让我知道,如果我是正确的:

我在其中限定viewbag值的控制器,返回一个局部视图,其为被beinng返回的最后一个视图。

这个局部视图渲染到JQuery的对话框。 当我关闭它,我回到一个之前,它包含一个形式。 在表单视图(一最后一个之前)我试图访问通过JS功能viewbag值,并将其分配给一个隐藏字段的形式。 因此,实际上,我试图让viewbag值,而不是来自于我已经发了viewbag的看法。

这是个问题吗? 是viewbag值只能从已经呈现的最后一个观点?

文章来源: Can't pull data out of ViewBag in MVC