NET应用程序中,我插入了一个调用Javascript函数(OnClientClick事件)和一个VB.NET函数(OnClick事件)的按钮。
<asp:Button OnClientClick="jsfunction() " OnClick="vbfunction" Text="Submit" runat="server" />问题是,当我单击按钮时,它会刷新页面并删除文本框中的内容。
我曾尝试在OnClienClick事件上插入return false;,但它不执行OnClick事件。
如何避免页面重载?
附注:在Javascript函数的末尾,打开一个新的窗口window.open(newWindow.aspx),但我希望第一页包含用户在文本框中插入的值。
提前感谢:)
发布于 2013-05-04 16:53:44
您需要在两点上使用return语句。
OnClientClick="return jsfunction();"
function jsfunction()
{
//
return false;
}或者,您可以在函数调用后返回false,如下所示。
OnClientClick="jsfunction(); return false;"注意如果你想有条件地回发,那么你需要返回true或false。
OnClientClick="return jsfunction();"
function jsfunction()
{
if(conditionForPostBack)
return true;
else
return false;
}发布于 2013-05-04 16:57:07
或者,您可以禁用提交行为。默认情况下,asp.net将按钮呈现为提交按钮。如果禁用提交行为,它会将按钮呈现为按钮类型
<asp:Button UseSubmitBehavior="false" OnClientClick="jsfunction() " OnClick="vbfunction" Text="Submit" runat="server" />但使用此代码时,它不会触发服务器端事件"OnClick“
发布于 2013-05-04 17:40:43
如果你不打算触发带有C#代码的按钮,那么你不需要使用asp:Button。因此,您可以使用常规的html。
<button id='btn_1' onclick='ajax_function()'>Button</button>html按钮更简单、更快捷。如果使用asp:button,那么应该使用clientid()函数来捕获触发ajax的控件。
https://stackoverflow.com/questions/16372431
复制相似问题