想要在弹出窗口中执行编辑,我有代码,但它无法正常工作
这是我的剧本
$("#mylink").click(function(e) { var count = 0; var $dialog = $("<div id='divCreateTask'></div>"); var Id = $(this).data(e);// url: "TaskTimeSheet/EditTaskPopUp/" + Id // var url = "EditTaskUrl" + id;var url = '@Url.Action("EditTaskPopUp","TaskTimeSheet")'; url += '/?Id=' +Id; $("#tab1").load(url); $dialog.empty();$dialog.dialog({ autoOpen: true,width: 600,height: 650,resizable: false,modal: true,open: function (event,ui) { $(this).load(url); },buttons: { "Cancel": function () { $(this).dialog("close"); } }); } });
@Html.ActionLink("Edit","TaskTimeSheet",new {id="mylink",param = dr["id"].ToString() })
从这个链接我必须通过id …..
这一切都加载在表格表中每一行都有编辑按钮….现在请将ID传递给查询,…
解决方法
使用ajax调用
$('.btnSubmit').on('click',function(){ $.ajax({ url: '@Url.Action("Action","Controller")',type: 'post',cache: false,async: true,data: { id: "ID" },success: function(result){ $('.divContent').html(result); } }); });
你的控制器动作会是这样的
[HttpPost] public PartialViewResult Action(int id){ var Model = //query the database return PartialView("_PartialView",Model); }
这将调用您的控制器,返回局部视图并将其放入具有类“divContent”的容器中.然后,您可以运行对话框代码以弹出容器.
行id更新
要获取表行的id,我在行单击事件中使用它
$(this).closest('tr').find('.ID').val(); // or .html() if you have put it in the cell itself
这将获取您所在的行,然后在该行中找到具有类ID的单元格.希望这会有所帮助.