我有一个带只读网格的面板,我们有添加和编辑按钮。在“添加”上单击“弹出模式”弹出窗口,其中所有字段都应为空,应该出现“编辑模式”,弹出窗口中应填写选定的行详细信息。在弹出窗口中单击“确定”后,数据将附加到网格中。并且相同的数据应反映在另一个网格中,该网格存在于不同的局部视图中。请注意,数据仍未保存。
我尝试创建一个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;
}
请告诉我,我在这里做错了什么。