jquery 将 HTML 表 数据 以 列表 形式 从 视图 传递 到 ASP.NET 核心 中 的 Controller 操作 方法

5jvtdoz2  于 2022-11-22  发布在  jQuery
关注(0)|答案(1)|浏览(102)

在 控制 器 操作 方法 中 获取 空 值 。 无法 循环 表 数据 行 。
型号 : 班级 :
第 一 个
控制 器 :
第 一 次
视图 : 表 行 循环 不 起 作用 。 这 是 正确 的 方式 吗 ?

@model CLPConfigurations.Models.Generation

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
           $("body").on("click", "#btnSave", function () {
             var generation={};
                var membersDetails = new Array();
                $("#tblDetails TBODY TR").each(function(){   
                    var memberDetails = {};
                     memberDetails.MemberType = $(this).find("TD").eq(0).html();
                    memberDetails.MemberCategory = $(this).find("TD").eq(1).html();
                     memberDetails.TotalSum = $(this).find("TD").eq(2).html();
               memberDetails.MemberCount = $(this).find("TD").eq(3).html();
               
                    membersDetails.push(memberDetails);
                });

           generation.Memberdetails = membersDetails;

                //Send the JSON array to Controller using AJAX.
               
                
                $.ajax({
                    type: "POST",
                    url: "/Home/Save",
                    data: JSON.stringify(generation),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                        alert("success");
                    }
                });
            });
        });
    </script>
</head>
<body>
    <form id="frmDetails">
        <table id="tblDetails" class="table simpleHomeSummary-grid">
            <thead>
                <tr>
                    <th>MemberType</th>
                    <th>MemberCategory</th>
                    <th>TotalSum</th>
                    <th>MemberCount</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var item in Model.Memberdetails)
                {
                    <tr>
                        <td>@item.MemberType</td>
                        <td>@item.MemberCategory</td>
                        <td>@item.TotalSum</td>
                        <td>@item.MemberCount</td>
                    </tr>
                }
            </tbody>
        </table>
        <br />
        <input id="btnSave" type="button" value="Save" />
    </form>
</body>
</html>

格式
应为 控制 器 操作 方法 \ 提供 视图 值 , 但 获得 空 值 。 不 知道 如何 将 值 从 视图 传递 到 控制 器 操作 方法 。

t3psigkw

t3psigkw1#

这 是 因为 您 的 表单 尚未 提交 。 首先 , 请 替换 视图 中 的 以下 行 :

<input id="btnSave" type="button" value="Save" />

中 的 每 一 个
与 此 :

<input id="btnSave" type="submit" value="Save" />

格式
其次 , 指定 表单 在 提交 时 应 调用 的 操作 :

<form id="frmDetails" action="/YourController/Save" method="post">

格式
并 在 Save 操作 中 添加 一些 代码 ( 除了 返回 null 之外 ) 。 至少 要 这样 做 , 以 查看 表单 是否 已 提交 :

return Json(new { Result = "Form successfully submitted." }, JsonRequestBehavior.AllowGet); // Because returned type is JsonResult

格式

相关问题