gpt4 book ai didi

jquery - 如何在 Jquery 函数中访问模型数组

转载 作者:行者123 更新时间:2023-12-01 03:19:58 26 4
gpt4 key购买 nike

我的 HTML 代码中有以下行:

<input type="hidden" value="@Model.BgtArray" id="BudgetArray"/>

这里,BgtArray 是一个二维数组,它填充在 View 本身中。像这样的事情:

@for(i=0;i<10;i++)
{@for (j=0;j<10;j++)
@Model.BgtArray[i][j]= *some value*;
}

我如何在 jQuery 函数中访问该数组的元素?

最佳答案

您正在 View 内填充模型???在 MVC 模式中, View 旨在显示以模型形式传递给它们的数据。 Controller 负责填充此模型。

话虽这么说,让我们假设您有一个模型:

public class MyViewModel
{
public int[][] BgtArray { get; set; }
}

它填充在 Controller 操作内并传递给 View :

public class HomeController : Controller
{
public ActionResult Index()
{
var model = new MyViewModel
{
BgtArray = Enumerable
.Range(1, 10)
.Select(
i => Enumerable
.Range(1, 10)
.Select(j => i * j)
.ToArray()
)
.ToArray()
};
return View(model);
}
}

然后我们可以有一个相应的强类型 View ,在其中我们可以 JSON 序列化模型并在 javascript 中访问它:

@model MyViewModel
<script type="text/javascript">
var model = @Html.Raw(Json.Encode(Model));
alert(model.BgtArray[1][2]);
</script>

它将在浏览器中呈现如下:

<script type="text/javascript">
var model = {"BgtArray":[[1,2,3],[2,4,6],[3,6,9]]};
alert(model.BgtArray[1][2]);
</script>

就以下行而言:

<input type="hidden" value="@Model.BgtArray" id="BudgetArray"/>

它非常无用,因为您无法将整个复杂的对象图存储到隐藏字段中。渲染结果将是:

<input type="hidden" value="System.Int32[][]" id="BudgetArray"/>

这不太可能是您想要实现的目标。

关于jquery - 如何在 Jquery 函数中访问模型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990904/

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