Client Side Asp.Net

Asp.Net AJAX blog



Demo 2 - Using JQuery impromptu with asp.net gridview, datalist or repeater
Demo 1 | Demo 2 | Read the article | Download source

CustomerIDNameEmailIDSexDOBAddressCreatedOn 
1Timmy Tomtimmytom@gmail.comMale1/1/1980 12:00:00 AMNewyork6/16/2009 7:06:31 PM Delete
2Antony Babc@gmail.comMale1/1/1980 12:00:00 AMNewyork6/16/2009 7:06:31 PM Delete
3Denny Alosiodenny@gmail.comFemale1/1/1984 12:00:00 AMWashington6/16/2009 7:06:31 PM Delete
4Daniel Vdaniv@gmail.comMale1/1/1980 12:00:00 AMOhio6/16/2009 7:06:31 PM Delete
5Antonio Sjoewe@gmail.comFemale1/1/1980 12:00:00 AMDenmark6/16/2009 7:06:31 PM Delete
6Timmy Tomtimmytom@gmail.comMale1/1/1980 12:00:00 AMWales6/16/2009 7:06:31 PM Delete

Source code

HTML
                <asp:TemplateField>
                    <ItemTemplate>
                        
                        <a id="linkDelete" runat="server" href="#" title="Confirm delete">Delete</a>
                        
                        <asp:Button runat="server" CommandName="Delete" ID="btnDelete" Style="display: none;" />
                    </ItemTemplate>
                </asp:TemplateField>
            
JavaScript
            function confirmDeleteResult(v,m,f)
            {
                if( v) //user clicked OK 
                $('#' + f.hidID).click();
            }  
            
C#
             //making the alert button for each delete link. 
            protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    // we are using a html anchor and a hidden asp:button for the delete
                    HtmlAnchor linkDelete = (HtmlAnchor)e.Row.FindControl("linkDelete");
                    Button btnDelete = (Button)e.Row.FindControl("btnDelete");

                    //for each delete link - the corresponding submit buttons id will be passed to delete call back as a hidden field
                    string prompt = "$.prompt('Are you sure you want to delete the selected item?"
                        + "<input type=\"hidden\" value=\"{0}\" name=\"hidID\" />'"
                        + ", {{buttons: {{ Ok: true, Cancel: false }}, callback: confirmDeleteResult}} ); return false; ";
                    linkDelete.Attributes["onclick"] = string.Format(prompt, btnDelete.ClientID);
                }
            }

            //showing success message after delete
            protected void SqlDataSource1_Deleted(object sender, SqlDataSourceStatusEventArgs e)
            {
                //The promt function shl'd be called inside $(document).ready() function inorder to avoid 
                //IE's "Operation aborted" error
                string prompt = "<script>$(document).ready(function(){{$.prompt('{0}!');}});</script>";
                string message = string.Format(prompt, "The selected item has been deleted successfully.");
                ClientScript.RegisterStartupScript(typeof(Page), "alert", message); 
            }