gpt4 book ai didi

javascript - 将对象从 cshtml View 传递到 JQuery

转载 作者:行者123 更新时间:2023-12-03 04:50:01 25 4
gpt4 key购买 nike

我正在尝试将对象从 cshtml View 传递到 JQuery,cshtml 代码:

 foreach (var item in Model)
{
<tr class="link" data-graduate="@item" data-url="@Url.Action("PopulateModal","CMIPGraduate")">
<td>@Html.DisplayFor(display => item.State)</td>
<td>@Html.DisplayFor(display => item.Name)</td>
</tr>
}

JQuery 代码:

$(document).ready(function () {    
$(".link").click(function () {
alert($(".link").data("graduate"))
$.ajax({
type: "get",
url: $(".link").data("url"),
data:{graduate:$(".link").data("graduate")}
})
$("#myModal").modal("show");
})
})

该对象在到达 Controller 时始终为空,我试图用 alert 显示它在我的JQuery代码如你所见,但我得到的只是这样的: MyProject.Viewmodels.MyClassVM ,我一直在尝试使用alert(JSON.stringify($(".link").data("graduate")))但我得到了相同的结果。我知道在我的 cshtml View 中我可以做这样的事情:

 <tr class="link" data-graduate="@item.Name" data-url="@Url.Action("PopulateModal","CMIPGraduate")">

我可以很容易地在我的 JQuery 上得到这个名字函数,但我不想创建 data-我的 cshtml 按字段查看属性,如果我有 500 个字段怎么办?我更愿意获取整个对象并将其发送到我的 Controller 操作。以防万一这是我的 Controller 操作:

  public ActionResult PopulateModal(MyClassVM graduate)
{
return PartialView(graduate);
}

最佳答案

嗯,这很有帮助:ASP.NET MVC: How to convert View Model into Json object但真正的窍门是在我看来修改此代码(添加 @Json.Encode(item)):

      <tr class="link" data-graduate="@Json.Encode(item)" data-url="@Url.Action("PopulateModal","CMIPGraduate")">

关于javascript - 将对象从 cshtml View 传递到 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42699612/

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