在ViewBag初始化之后访问Javascript变量

时间:2015-04-29 07:51:31

标签: javascript jquery asp.net-mvc-4

这是动作功能:

0

这是JQuery函数:

public ActionResult TranslatorForm()
{
    string[] arrDepartment = new string[]{"Engeneering","Science","Mediciene"};

    ViewBag.Department = arrDepartment;
    return PartialView("TranslatorFormPartial");
}

正如您所看到的,我在部门javascript变量中存储来自服务器 ViewBag.Department 的传递数据。在某些时候,我想创建下拉列表并使用departments变量中的数据填充它。

但我不知道如何访问部门javascript变量中的元素。 任何想法我该如何实现它? 任何

2 个答案:

答案 0 :(得分:2)

使用

ViewBag属性分配给javascript数组
var departments = JSON.parse('@Html.Raw(Json.Encode(ViewBag.Department))');

然后您可以使用普通循环或使用jquery .each()函数访问它,例如

for (i = 0; i < departments.length; i++) { 
    var dept = departments[0]; // returns `Engeneering`
}

答案 1 :(得分:1)

您可以将部门输出为字符串:

string departments = "Engeneering,Science,Mediciene";
ViewBag.Department = departments;

在你看来:

$(document).ready(function () {
    var departments = '@ViewBag.Department'.split(',');
});

现在你的部门JS变量应该是一系列部门。