【问题标题】:Passing form data to asp.net mvc controller action using JQuery使用 JQuery 将表单数据传递给 asp.net mvc 控制器操作
【发布时间】:2010-02-03 03:18:03
【问题描述】:

基本上,我有一个 HTML 表单,并且希望将数据从表单传递到 n asp.net mvc 控制器,然后控制器将返回一个 XML 用于客户端操作。

这是我的初始代码:

客户:

$(function() {
    $('#btnSubmit').click(function() {
        $.post('/Home/Create', $('form').serialize(), function(data) {
            $('#entryForm').remove('form');
            // $('#entryForm form').html(data);
            alert(data);
            $(data).find('Person').each(function() {
                alert($(this).attr('Lastname').val());
            });
        }, "xml");
        return false;
    });
});

这是我的控制器操作的代码:

   public ActionResult Create(Person p)
    {
        //Person p = new Person();
        //p.Lastname = lastname;
        //p.Firstname = firstname;
        //p.Middlename = middlename;

        // this returns XML Data
        return new XmlResult(p);    
    }

当我运行和调试时,我收到一条消息说“attr(..) 为空或不是对象。 你能帮我找出我在这里做错了什么吗? 任何建议也将不胜感激,因为我仍在尝试使用 ASP.NET MVC 学习 Web 开发。

谢谢

大多数

【问题讨论】:

    标签: jquery asp.net xml ajax asp.net-mvc


    【解决方案1】:

    我意识到我做得很好,这是我为客户端更新的代码:

    $(function() {
        $('#btnSubmit').click(function() {
            $.post('/Home/Create', $('form').serialize(), function(data) {
                $('#entryForm').remove('form');
                // $('#entryForm form').html(data);
    
                $(data).find('Person').each(function() {
                    var $lastname = $(this).find('Lastname').text();
                    var $firsttname = $(this).find('Firstname').text();
                    var $middlename = $(this).find('Middlename').text();
                    // alert('<p>Lastname: ' + $lastname + '</p>');
                    $('<p></p>').html($lastname).appendTo('#detailsForm');
                });
            }, "xml");
            return false;
        });
    });
    

    现在,我的下一个挑战是,如何使用 ASP.NET MVC 将 XML 文件发送到客户端,以便 我可以使用 JQuery 来处理 XML???

    谢谢

    【讨论】:

      【解决方案2】:

      为什么不使用 JSON 结果? JQuery 支持只需将 $.post 调用中的“xml”替换为“json”

      【讨论】:

      • 我同意,这会让事情变得更容易。
      猜你喜欢
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 2011-04-03
      • 1970-01-01
      • 2017-05-28
      相关资源
      最近更新 更多