添加/编辑模态使用Controller操作方法弹出以显示弹出窗口

时间:2012-03-01 06:25:09

标签: jquery asp.net-mvc model-binding

我有一个带只读网格的面板,我们有添加和编辑按钮。在“添加”上单击“弹出模式”弹出窗口,其中所有字段都应为空,应该出现“编辑模式”,弹出窗口中应填写选定的行详细信息。在弹出窗口中单击“确定”后,数据将附加到网格中。并且相同的数据应反映在另一个网格中,该网格存在于不同的局部视图中。请注意,数据仍未保存。

我尝试创建一个Action方法来显示带有签名的模式弹出:

public ActionResult AddEditBook(List<Book> books, int? index)

此方法接受当前绑定到局部视图的List和索引(如果它是编辑操作,并且用户想要编辑该行)。

但我无法使用Jquery调用此Controller操作方法。 Jquery代码是:

<script type="text/javascript" language="javascript">

$(this).ready(function () {
        $(".mr_book_info_grid :input[type='button']").click(function () {

            if ($(this).find(".addRowModal")) {
                DisplayAddEditMRComponentDetails(this);
                return false;
            }
        });
    });
        function DisplayAddEditMRComponentDetails(currRecord) {

            var rules = new Array();

            $('#frm_mr_book table.mr_book_info_grid tbody tr').each(function (i) {
                debugger;
                var BookId = $('#bookId_' + i, this).val();
                var BookName = $('#bookName_' + i, this).val();
                rules.push(new Book(BookId, BookName));
            });


            var postData = JSON.stringify(rules);
            var postData_2 = $("#frm_mr_book").serializeArray();
            var postedData = $.toJSON(rules);

            var $MainContent = $(".div_bookGridRecordDisplay");
            var resourceURL = "/Book/EditBook";

            $MainContent.css("text-align", "center");

            $.ajax({
                url: resourceURL,
                data:  { 'books': postedData,'n': 1 },
                 traditional : true,
                   dataType: 'json',
                   type: 'post' ,
                   contentType: 'application/json; charset=utf-8',
                   success: function (data) { alert(data.success); }
                 //  error: function () { alert("error"); }                       
            });
        }

    function Book(subRuleCode, productGroupId) {
            this.BookId = subRuleCode;
            this.BookName = productGroupId;
        }

请告诉我,我在这里做错了什么。

0 个答案:

没有答案