【问题标题】:Opening modal popup for edit record in MVC Grid在 MVC Grid 中打开编辑记录的模式弹出窗口
【发布时间】:2014-04-30 22:24:22
【问题描述】:

我有一个场景,我有一个显示员工记录的网格。在每一行中都有一个编辑链接。在那个链接上,我想用该记录在模态弹出窗口中打开一个部分视图,但我不想使用 $.ajax 来填充模态弹出 div 中的部分视图。 有什么方法可以实现吗?

<table width="600px">
<tr>
    <th align="center">
        Ename
    </th>
    <th align="center">
        Sal
    </th>
    <th></th>
</tr>

<tr>
    <td align="center">
        Manish
    </td>
    <td align="center">
        20000
    </td>
    <td>
        <a href="/Home/Edit/100">Edit</a> |
    </td>
</tr>
<tr>
    <td align="center">
        Ravi
    </td>
    <td align="center">
        10000
    </td>
    <td>
        <a href="/Home/Edit/101">Edit</a> |
    </td>
</tr>
<tr>
    <td align="center">
        Dinesh
    </td>
    <td align="center">
        15000
    </td>
    <td>
        <a href="/Home/Edit/102">Edit</a> |
    </td>
</tr>
<tr>
    <td align="center">
        Vikash
    </td>
    <td align="center">
        12000
    </td>
    <td>
        <a href="/Home/Edit/103">Edit</a> |
    </td>
</tr>

【问题讨论】:

  • 您的记录在表格中吗?
  • 你能发布一个表结构的sn-p吗?包括 thead 和 tbody
  • 我已经在上面发布了代码。请查看
  • 对不起,你能发布表格的纯 html 输出吗?我需要看看锚标签 有什么类
  • 我已经更新了描述中的代码。请查看

标签: jquery asp.net-mvc


【解决方案1】:
  1. 添加引导模式以显示表格。

HTML ...

<div id="alertModal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Edit a Record</h4> </div> <div class="modal-body"> <table> <!-- This is where we will show the selected record --> <thead> <tr> <th align="center">Ename</th> <th align="center">Sal</th> <th><!-- Put a save button here, maybe?--></th> </tr> </thead> <tbody> </tbody> </table> </div> <div class="modal-footer"> <button class="btn btn-default" data-dismiss="modal"> Close</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal -->

  1. 复制表格行的内容并显示在引导表中

Javascript ...

. . .

/* Assuming your table has an id of 'myTable' the following code,
will trigger a click event handler when one of you MVC links are clicked */
$('#myTable').find('a[href*="/Home/Edit/"]').each(function(){

    $(this).click(function(){

        //Clone the table row which has a link that was clicked
        var $tr = $(this).parents('tr').clone();

        //Empty the contents of the table
        $('#editModal').find('table tbody').empty();

        //Add the cloned row into the table
        $('#editModal').find('table tbody').append($tr);

        //Show the modal
        $('#editModal').modal('show')

        ... //Code to update the table below the modal, up to you..

    });
});

【讨论】:

  • 有道理。但是是否可以使用像 ajax 形式的 mvc 异步调用从数据库中选择新数据。我问这个是否假设我的页面从一个多小时打开并且其他一些用户更改数据在这种情况下我将无法选择新数据。那么我们可以使用mvc方式返回部分视图吗?
  • 我不确定...我对 asp mvc 不太熟悉...不过我可以说的是,您可以强制用户使用 jquery 刷新页面。只需捕获页面加载的时间戳,然后检查是否超过五分钟。如果为真,则重新加载页面,否则显示模态/
猜你喜欢
  • 2015-07-16
  • 1970-01-01
  • 2015-02-01
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多