加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用JSON,JQuery向ASP.NET MVC Controller发布一

发布时间:2020-12-15 23:59:11 所属栏目:asp.Net 来源:网络整理
导读:我知道在 here之前已经触及了这个问题 但解决方案似乎不适合我的问题. 这是我的HTML.行数是可变的 table id="workPlanTable" tr th Begin /th th End /th /tr tr itemId="1" tdinput class="begin" id="begin_1" name="begin_1" type="text" value="5:30" //
我知道在 here之前已经触及了这个问题

但解决方案似乎不适合我的问题.

这是我的HTML.行数是可变的

<table id="workPlanTable">
    <tr>
        <th>
            Begin
        </th>
        <th>
            End
        </th>
    </tr>

    <tr itemId="1">
        <td><input class="begin" id="begin_1" name="begin_1" type="text" value="5:30" /></td>
        <td><input class="end" id="end_1" name="end_1" type="text" value="11:30" /></td>
    </tr>
    <tr itemId="3">
        <td><input class="begin" id="begin_3" name="begin_3" type="text" value="5:30" /></td>
        <td><input class="end" id="end_3" name="end_3" type="text" value="7:30" /></td>
    </tr>

</table>

js构建一个对象数组并将它们发布到控制方法中

<script type="text/javascript">
$(function() {

    submitForm = function() {
        var items = new Array();
        $("#workPlanTable tr").each(function(i) {

            var end = $(this).find(".end").val();
            var begin = $(this).find(".begin").val();

            var item = {
                "Begin": begin,"End": end
            };
            items.push(item);

        }
        );

        var postData = { myItems: items };

        $.ajax({
            url: '~/WorkPlan/AjaxUpdate',type: 'POST',dataType: 'json',data: postData,contentType: 'application/json; charset=utf-8',success: function(result) {
                alert(result.Result);
            }
        });

    }

}
)     
</script>

每行代表一个WorkPlanItem.我的目标是将它们全部发布到我的控制器以更新它们.

我似乎无法在我的控制器方法(AjaxUpdate)中找到如何访问数组的方法

解决方法

您可以将表单序列化为 Vikas posted,或者如果您更喜欢浏览页面(正如您当前所做的那样)并使用postData数组,则可以使用stringify function.

在控制器上,您将需要处理json字符串.您可以使用System.Web.Script.Serialization.JavaScriptSerializer class对其进行反序列化.如果您有一个映射到您传递的数据的对象,则可以使用Deserialize方法.如果你不这样做,你仍然可以使用DeserializeObject,但是它会给你一个字典< string,string>您必须走过才能获取数据的集合.不完全有趣(相信我),但它的确有效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读