gpt4 book ai didi

javascript - 如何循环浏览输入的 Viewbag 列表?

转载 作者:行者123 更新时间:2023-12-02 14:36:09 25 4
gpt4 key购买 nike

我已经传入了 List<AdminUsers>通过 Viewbag 到 View 。然后将列表分配给 JavaScript 变量并循环遍历。

但是在 View 上调试期间,尽管我在其上设置了断点,但该 for 循环永远不会循环。

循环的目的是检查 adminUserList 中是否有任何用户匹配当前登录的用户。 currentUser也是 init ,因此排除了该值为 null 的情况。

为了调试出现这种情况的原因。我测试了Viewbag.AdminUserList被分配并在它所在的 Controller 中初始化。我还在该列表的 View 中设置了一个警报,它是 init。

问题:

有谁知道为什么下面for loop不是在 JavaScript 中调用的吗?

这是调试时js adminUserList的值:

var adminUserList = [{"AdminID":1,"AdminDisplayName":"brianb","AdminEmailAddress":"brian@test.com"},{"AdminID":2,"AdminDisplayName":"wendy","AdminEmailAddress":"wendy@test.com"}];

代码:

Javascript for 循环 -

<script>

var currentUser = '@ViewBag.CurrUser';
var adminUserList = @Html.Raw(Json.Encode(ViewBag.AdminUserList));

$(document).ready(function () {

var historyTable = $('#table').DataTable({
"order": [[6, "desc"]]
});

//Loop through each of the admin users, if any of
//the admin users match the current user, hide the delete column.
for (var i = 0; i < adminUserList.Count; i++)
{
if (currentUser == adminUserList.AdminDisplayName[i]) {
//hide the delete table option from a non admin user
historyTable.columns([9]).visible(false);
}

}

});


</script>

Controller 索引方法 -

    public ActionResult Index()
{
HistoryDAL sqlConnection = new HistoryDAL();
List<AdminUsers> adminList = sqlConnection.GetAdminUsers();

//Get the current user
var components = User.Identity.Name.Split('\\');
var userName = components.Last();

//Assign current user and admin list to viewbag
ViewBag.CurrUser = userName;
ViewBag.AdminUserList = adminList;

return View("Index");

}

模型 - 管理员用户:

public class AdminUsers
{
public int AdminID { get; set; }
public string AdminDisplayName { get; set; }
public string AdminEmailAddress { get; set; }

}

最佳答案

在行

for (var i = 0; i < adminUserList.Count; i++)

您需要使用 JavaScript adminUserList.length 而不是 C# adminUserList.Count,因为 adminUserList 是 JavaScript 变量而不是 C#一个。

关于javascript - 如何循环浏览输入的 Viewbag 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37436472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com