简体   繁体   中英

Image button OnClientClick() event issue in ASP.net using C#

I am having one Web page(First window). In that page I am having one image button, Which is having OnClientClick event. In that event I call a javascript method as OpenHelpWindow() ie

OnClientClick ="OpenHelpWindow()"

Now whenever I clicked that image button the event in the javascript method (OpenHelpWindow()) will get trigger and it will open the New help web window. Its working properly but the problem is, When I press Enter key then also the event will get fire and show me the help window.

Now I want to stop the second window (Help window) opening when the Enter key pressed.

How can I resolve this problem?

My Code for the first web window Image button is,

.aspx code

.
.
<asp:ImageButton ImageUrl="~/Images/help.png" runat="server" ID="ibtnHelp"
                                AlternateText="Help" ToolTip="Help"  OnClientClick="OpenHelpWindow()" />
.
.

Javascript code for OpenHelpWindow() is

function OpenHelpWindow()
{
var newWin = null;
try
 {
    newWin = window.open("../Common/OpenHelpUrl.aspx");
    newWin.focus();
    return false;
 }
finally
 {
    newWin = null;
 }
}

Your ImageButton is the form's default button, which means that when the user presses Enter, that button automagically gets "pressed". This is standard ASP.NET behavior.

You can change this by adding the following attribute to your <ImageButton.../> tag:

UseSubmitBehavior="False"

Good luck!

EDIT

If this doesn't work (which it should!), then you can fool the browser by adding an invisible dummy button in your form:

<asp:Button ID="dummy" runat="server" Text="" OnClientClick="return false;" style="display:none;"/>

and then adding defaultButton="dummy" to your <form /> .

Invalid postback or callback argument. Event validation is enabled using in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM