how to avoid postback on button click event in asp.net/javascript?
-
I have a print button on my aspx page which prints only a particular
section of the page. The javascript for this print is coded in vb.net. When I click on print and refresh the page, the print button click method is getting called once again. I do not want the button click to respond to the event on every refresh. How can I do this? Thank you
-
I have a print button on my aspx page which prints only a particular
section of the page. The javascript for this print is coded in vb.net. When I click on print and refresh the page, the print button click method is getting called once again. I do not want the button click to respond to the event on every refresh. How can I do this? Thank you
Not sure if it explains your situaton, but the answer to the broad question is, if you handle OnClientClick on your button with javascript that returns false, your server click will not occur.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
Not sure if it explains your situaton, but the answer to the broad question is, if you handle OnClientClick on your button with javascript that returns false, your server click will not occur.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
You can add this code to any button OnClickClick="return false();" and the click event will never fire. Replacing this with a call to a method that works out if it should postback, and returns true or false, will allow you to control your ASP.NET button from javascript.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
You can add this code to any button OnClickClick="return false();" and the click event will never fire. Replacing this with a call to a method that works out if it should postback, and returns true or false, will allow you to control your ASP.NET button from javascript.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
On refresh, the page is re submitting the onclick event for print. It opens a dialog: "The page cannot be refreshed without resending the information.Click retry to send information again. or cancel to return to the page u were trying to view". On click of both retry or cancel ,the page still runs the code in print click. Can you help me? I tried using return false in onclientclick event.
-
On refresh, the page is re submitting the onclick event for print. It opens a dialog: "The page cannot be refreshed without resending the information.Click retry to send information again. or cancel to return to the page u were trying to view". On click of both retry or cancel ,the page still runs the code in print click. Can you help me? I tried using return false in onclientclick event.
Ah... OK. Now I see the issue. A refresh will indeed reprocess the postback. Why do you need to do a postback to do printing ? I thought that was done in javascript ?
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
Ah... OK. Now I see the issue. A refresh will indeed reprocess the postback. Why do you need to do a postback to do printing ? I thought that was done in javascript ?
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
My guess is that he's using an ASP:Button control for the print button and using the OnClientClick property for the javascript. I think a postback will happen in this instance and that might be what's causing the problem. I'm not sure how that script will affect the postback if you return false; as Christian mentioned. Maybe if you use
button.Attributes.Add("OnClick","Javascript:PrintMethod();return false;");
instead of the OnClientClick property it will behave differently. I don't have time to test this out right now, but maybe that would work?
-
My guess is that he's using an ASP:Button control for the print button and using the OnClientClick property for the javascript. I think a postback will happen in this instance and that might be what's causing the problem. I'm not sure how that script will affect the postback if you return false; as Christian mentioned. Maybe if you use
button.Attributes.Add("OnClick","Javascript:PrintMethod();return false;");
instead of the OnClientClick property it will behave differently. I don't have time to test this out right now, but maybe that would work?
If he adds a ClientClick only, then the button should not post back, but if he returns false, it definately would not post back.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
If he adds a ClientClick only, then the button should not post back, but if he returns false, it definately would not post back.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
hey guy wht r u doing man if u want to avoid postback just type at form ispostbackpage=false simply byeeeee hope u understand lucky
-
hey guy wht r u doing man if u want to avoid postback just type at form ispostbackpage=false simply byeeeee hope u understand lucky
isPostBack is a readonly property right? so I am not able to do that. And actually I am using master page and content pages in my project. One of my content page has a table which needs to be printed on print button click. I have used asp:button control for this. And in my print_click event in vb, i have written the code like this:
Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click Dim printScript As String = "" & _ "var foo = document.getElementById( 'plansheet' ); var bar = open('about:blank', 'myPopup', 'print'); bar.document.body.innerHTML = foo.innerHTML; bar.print();" ClientScript.RegisterStartupScript(Me.GetType(), "PrintScript", printScript.ToString()) End Sub
The 'plansheet' is the id of my html table. This code opens a separate blank page with table alone in it and pops up the print dialog. When i use/cancel print in this dialog and go back to the original page and when i click F5 or refresh, the print is getting triggered once again and is openeing up the blankpage and printdialog once again. Hope I am clear in explaining my scenario. Thank you -
isPostBack is a readonly property right? so I am not able to do that. And actually I am using master page and content pages in my project. One of my content page has a table which needs to be printed on print button click. I have used asp:button control for this. And in my print_click event in vb, i have written the code like this:
Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click Dim printScript As String = "" & _ "var foo = document.getElementById( 'plansheet' ); var bar = open('about:blank', 'myPopup', 'print'); bar.document.body.innerHTML = foo.innerHTML; bar.print();" ClientScript.RegisterStartupScript(Me.GetType(), "PrintScript", printScript.ToString()) End Sub
The 'plansheet' is the id of my html table. This code opens a separate blank page with table alone in it and pops up the print dialog. When i use/cancel print in this dialog and go back to the original page and when i click F5 or refresh, the print is getting triggered once again and is openeing up the blankpage and printdialog once again. Hope I am clear in explaining my scenario. Thank youHey guys , I got it!!!!!!!!!!!!:) Well I thought I cannot place javascript inside a content page as it will not be having a tag. But now, I have used a html button for print and used javascript right below the tag. This is not triggering the print on refresh! Thank you one and all for helping me out! cheers:)
-
Hey guys , I got it!!!!!!!!!!!!:) Well I thought I cannot place javascript inside a content page as it will not be having a tag. But now, I have used a html button for print and used javascript right below the tag. This is not triggering the print on refresh! Thank you one and all for helping me out! cheers:)
hey just add a button in ur report then at ur form write code in reportviewer me.hide on click event it will autmatically and when u want me.show simply first of all u have to invisible the reportviewer hope u understand byeeeeeeeeeee lucky