Добавить / изменить модальное всплывающее окно, используя метод действия Controller, чтобы показать всплывающее окно - PullRequest
0 голосов
/ 01 марта 2012

У меня есть панель с сеткой только для чтения, и у нас есть кнопки для добавления и редактирования. При добавлении нажмите всплывающее окно с модальным окном, в котором должны появиться все пустые поля, и при редактировании модального окна с выбранными деталями строки, заполненными всплывающим окном, должно появиться. При нажатии OK во всплывающем окне данные добавляются в сетку. и те же данные должны отражаться в другой сетке, которая представлена ​​в другом частичном представлении. Обратите внимание, что данные все еще не сохранены.

Я попытался создать метод Action, чтобы показать модальное всплывающее окно с подписью как:

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

Этот метод принимает список, привязанный в настоящее время к частичному представлению и индексу, если это операция редактирования, и пользователь хочет редактировать строку.

Но я не могу вызвать этот метод действия контроллера, используя Jquery. Код 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;
        }

Пожалуйста, дайте мне знать, что я здесь не так делаю.

...