Groups | Blog | Home
all groups > asp.net datagrid control > october 2006 >

asp.net datagrid control : Gridview keeps adding rows when user causes postback


postings NO[at]SPAM alexshirley.com
10/6/2006 5:23:30 AM
Hi

I have a gridview that has a footer with text fields and an "add"
linkbutton. This footer allows the user to add new rows to the
gridview.

When the user clicks the "add" linkbutton everything works as you would
expect, a record is added to the gridview. The problem is that if the
user causes a post back after adding a record (i.e. hitting refresh or
F5 on the browser) it will add the same record again and again. e.g. If
the user causes 5 postbacks then 5 duplicate records will be entered.

I can stop this behaviour by disabling viewstate on the gridview, but
then the edit functionality of the gridview stops working properly.

Does anybody have any ideas how I can stop this behaviour?
Here's the code:

Protected Sub lnkAdd_Click(ByVal sender As Object, ByVal e As
System.EventArgs)

Page.Validate()

If Page.IsValid Then

'Add record in the database
mygridview.DataBind()

End If

End Sub


Many thanks!

Alex
Niraj Ranka
10/7/2006 12:00:00 AM
Hello,

Referesh or presing F5 is not postback.

Just let us know... u r adding row to grid using... server side or client
side scripting.

Regards
--
Niraj Ranka
http://dotnetpub.blogspot.com/
[quoted text, click to view]

postings NO[at]SPAM alexshirley.com
10/9/2006 9:31:58 AM
Thanks for replying Niraj..

In a nutshell: server side.

Thanks

Alex

..
[quoted text, click to view]
postings NO[at]SPAM alexshirley.com
10/9/2006 9:34:09 AM
Oh to add to this:

<FooterTemplate>
<asp:LinkButton ID="lnkAdd" runat="server" CausesValidation="False"
CommandName="Add" OnClick="lnkAdd_Click" Text="Add"></asp:LinkButton>
</FooterTemplate>

Runs the server side code.....

Thanks

Alex


[quoted text, click to view]
postings NO[at]SPAM alexshirley.com
10/17/2006 4:55:00 AM
Hi Niraj

Any luck on this?

Thanks

Alex

[quoted text, click to view]
AddThis Social Bookmark Button