开发者

Check is dirty for the gridview in asp.net?

I am developing a web application where I am using a GridView control to load data from the database.

I have a row that is loaded in editable mode. I have a save button 开发者_如何学Gowhich the user clicks after making the changes, and I want to check the IsDirty flag to stop the user from saving and notify them via an alert box. I'm using a Web User Control (ASCX) to load the GridView. How can I check dirty rows in the grid and stop the user from saving when user clicks the save button or logout button??

P.S. I am using a LoginView for the logout button.


You need to handle the OnRowUpdating event in your grid, for example:

<asp:GridView id="a" runat="server" OnRowUpdating="a_rowUpdating" ... />

In code behind:

protected void a_rowUpdating (object sender, GridViewUpdateEventArgs e)
{
   //Add logic appropriately to know whether you should allow the update or not.
   //If you shouldn't, just set e.Cancel=true as below:
   e.Cancel=true;//will stop from updating.
}

You have access to the Old and New values in the GridViewUpdateEventArgs object. For more details and sample code, check here.


I use a simple JS method to check for a variety of changes in ASP.net pages. I added it to a JS filer called CheckDirty.js and added a link to it on the page, in the file is this code:

var checkDirty = true;
var form_clean;
//this should be called when the save button is clicked, but prior to the page post
function onSave() {
    checkDirty = false;
}

// serialize clean form
$(function () {
    form_clean = $("form").serialize();
});

window.onbeforeunload = function (e) {
    if (checkDirty) {
        var form_dirty = $("form").serialize();
        if (form_clean != form_dirty) {
            return 'Your changes will be lost';
        }
    }
};

This will also work for changes to a gridview and will alert the user. I find this method best because it works with everything and I don't need to keep writing different methods for different controls.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜