如何将Item.Id附加到JQuery.Model对话框MVC 3



我使用Matt Hidinger的例子来使用Jquery创建模态表单。

我试过类似的东西

//Javascript click event
$("#Edit").click(function () {
        var grid = jQuery('#Tareas');
        var selId = grid.jqGrid('getGridParam', 'selrow');
        var myCellData = grid.jqGrid('getCell', selId, 'TareaId');
        if(myCellData=="") {
            alert("Select Task to Edit");
        } else {
        location.href = '/Task/Edit/'+myCellData;
            }
    });
<button id="Edit" class="openDialog" data-dialog-id="editDialog" data-dialog-Title="Edit" title="editDialog" style="border: 1; background: transparent">
    <img src="@Url.Content("~/Content/Detail.png")" />
</button>

但我无法捕捉到点击事件。有人能帮忙吗?

您正在引用#Edit。这意味着JQuery正在DOM中查找IDEdit的对象。它找不到它,因为您没有将ActionLinkID设置为"编辑"。

试试这个:

@Html.ActionLink("Edit", "Edit", "MyThing", new { id = item.Id }, 
    new { @class = "openDialog", data_dialog_id = "editDialog", 
        data_dialog_title = "Edit", @id = "Edit" })

因为不仅需要发送行的id,还需要显示基于用户配置文件的编辑,所以我决定实现一个操作列。

$.ActionsFormatter = function(cellvalue, options, rowObject) {
// column 10 contains true or false from de user profile action
// column 1 contains the item.id
var c = rowObject[10];
if(c) {
     var src = '@Url.Content("~/Content/")' + 'Edit_16.png';
     return "<a class='openDialog' data-dialog-id='editDialog' data-dialog-Title='Edit Task' title='editDialog' href ='@Url.Action("Edit")'"+rowObject[1]+"><img title='edit' src='" + src + "' alt='edit' title='edit' /> </a>";
     } 
     else {
           return "";
     }
    };

最新更新