Link to home
Start Free TrialLog in
Avatar of spaceneedlejumper
spaceneedlejumper

asked on

Javascript confirm in a gridview on a hyperlink field

I would like to ask someone, "Are you sure you want to delete this record?", from my gridview.

Right now I am using a hyperlink field so that I could use an image for the delete button.

I have tried a RowDataBound event adding attributes to the desired field, but that is generating a compile error saying, "Compiler Error Message: BC30545: Property access must assign to the property or use its value."
CODE FOR THE GRIDVIEW:
    <asp:GridView ID="GridViewJobListing" runat="server" AutoGenerateColumns="False" 
        BackColor="#000099" BorderStyle="Double" DataSourceID="JobSummary" 
        ForeColor="#FF9933" GridLines="None" HorizontalAlign="Center" 
        Width="600px" DataKeyNames="JobID" BorderColor="#999966" BorderWidth="6px" 
        AllowPaging="True" AllowSorting="True" PagerSettings-PageButtonCount="20" 
            HeaderStyle-Wrap="False" HeaderStyle-HorizontalAlign="Center" PageSize="20">
    <PagerSettings PageButtonCount="20"></PagerSettings>
 
        <RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
        <Columns>
            <asp:BoundField DataField="JobTitle" HeaderText="Job Title" SortExpression="JobTitle" />
            <asp:BoundField DataField="JobStartDate" HeaderText="Start Date" SortExpression="JobStartDate" />
            <asp:BoundField DataField="DateJobAdded" HeaderText="Date Added" SortExpression="DateJobAdded" DataFormatString = "{0:d}" />
            <asp:BoundField DataField="DateLastModified" HeaderText="Modified" SortExpression="DateLastModified" DataFormatString = "{0:d}" />
            <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" />
            <asp:HyperLinkField DataNavigateUrlFormatString="~/EmployerEditJobWizard.aspx?JobID={0}" DataNavigateUrlFields="JobID" Text="<img src='graphics/edit.gif' alt='Edit Job' title='Edit Job' border='2' />" /> 
            <asp:HyperLinkField DataNavigateUrlFormatString="~/EmployerJobsEdit.aspx?JobID={0}&Action=Activate" DataNavigateUrlFields="JobID" Text="<img src='graphics/activate.gif' alt='Activate' title='Activate' border='2' />" /> 
            <asp:HyperLinkField DataNavigateUrlFormatString="~/EmployerJobsEdit.aspx?JobID={0}&Action=Deactivate" DataNavigateUrlFields="JobID" Text="<img src='graphics/deactivate.gif' alt='Deactivate' title='Deactivate' border='2' />" /> 
            <asp:HyperLinkField DataNavigateUrlFormatString="~/EmployerJobsEdit.aspx?JobID={0}&Action=Delete" DataNavigateUrlFields="JobID" Text="<img src='graphics/delete.gif' alt='Delete Job' title='Delete Job' border='2' />" /> 
            <asp:BoundField DataField="Expr1" HeaderText="Expr1" SortExpression="Expr1"  Visible="False" />
            <asp:BoundField DataField="JobID" HeaderText="JobID" InsertVisible="False" ReadOnly="True" SortExpression="JobID"  Visible="False" />
            <asp:BoundField DataField="EmpID" HeaderText="EmpID" SortExpression="EmpID"  Visible="False" />
        </Columns>
        <SelectedRowStyle BackColor="#FFCC66" ForeColor="#000066" />
        <HeaderStyle BackColor="#999966" ForeColor="#000099" HorizontalAlign="Center" 
            BorderColor="#CC6600" BorderStyle="Solid" BorderWidth="5px" />
        <AlternatingRowStyle BackColor="#003399" />
    </asp:GridView>
 
 
CODE FOR THE DATABOUND EVENT:
    Protected Sub GridViewJobListing_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridViewJobListing.RowDataBound
        e.Row.Cells[8].Attributes.Add("onclick", "return confirm('Are you sure you want to delete this record?');")
    End Sub

Open in new window

SOLUTION
Avatar of GiftsonDJohn
GiftsonDJohn
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of spaceneedlejumper
spaceneedlejumper

ASKER

I tried that last night and again just now to be sure.  It generates the error:

Parser Error Message: Type 'System.Web.UI.WebControls.HyperLinkField' does not have a public property named 'onClientClick'.

Can't I do some sort of Gridview.Attributes.Add(OnClientClick) in the PageLoad  -  I know that syntax is wrong, but maybe you know what I'm talking about.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
take hyperlink control instead of HyperLinkField
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Wait a second, is it a duplicate question? If yes, then it is against the member agreemnet to post duplicate question.
Sorry prairiedog,

It does look like both of my questions kind of merged into the same thing.  The way the deleting operation works right now is by using a hyperlink field in the gridview that passes a querystring with the job ID and an action=delete.

I'd just like to get a warning in there somewhere.  I would be happy if I could get the warning either on the page showing the gridview when the user clicks delete, or during the pageload event of the page processing the querystring.

Try the comment I post on the other question.
I didn't get this working with any of the solutions offered.  I posted a new question about how to get the JobID into a URL querystring so that I can confirm and then delete based on the incoming querystring.