如何在离开或导航到其他页面之前识别GridViewRow是否处于编辑模式?

时间:2011-09-28 11:41:16

标签: asp.net

  

可能重复:
  How can I identify the edited row in GridView?

我的客户希望GridView仅显示TextBoxes和DropDownListBoxes中的字段。他希望只需在更改单元格中的值后单击“更新”按钮即可灵活地更新Record。

如果用户在导航到其他页面之前忘记点击当前编辑记录的“更新”按钮,则程序应该提示用户显示该消息 “你想保存对Emp.No 1003所做的更改吗?” “是”,“否”选项。如果用户选择“是”,则应在数据库中更新Emp记录。 如果用户选择“否”,则应丢弃这些更改。

有人可以告诉我如何达到这个要求?

1 个答案:

答案 0 :(得分:0)

您可以使用一些javascript并调用window.onbeforeunload方法来实现此目的。

最好在javascript代码var changesMade = false;中有一个全局变量,然后当用户点击“编辑”按钮或进行更改时,将全局变量设置为true。

然后在您的window.onbeforeunload方法中使用此代码:

$(function(){
     window.onbeforeunload = function () {
        if (changesMade) {
            return "You have unsaved changes. Please Save all changes."; // customize this msg accordingly.
        }
    }
});

请注意我在这里使用jQuery在DOM加载后设置方法。