首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >停止ASP.NET按钮的页面重新加载

停止ASP.NET按钮的页面重新加载
EN

Stack Overflow用户
提问于 2013-05-04 16:51:47
回答 4查看 15.1K关注 0票数 2

NET应用程序中,我插入了一个调用Javascript函数(OnClientClick事件)和一个VB.NET函数(OnClick事件)的按钮。

代码语言:javascript
复制
<asp:Button OnClientClick="jsfunction() " OnClick="vbfunction" Text="Submit" runat="server" />

问题是,当我单击按钮时,它会刷新页面并删除文本框中的内容。

我曾尝试在OnClienClick事件上插入return false;,但它不执行OnClick事件。

如何避免页面重载?

附注:在Javascript函数的末尾,打开一个新的窗口window.open(newWindow.aspx),但我希望第一页包含用户在文本框中插入的值。

提前感谢:)

EN

回答 4

Stack Overflow用户

发布于 2013-05-04 16:53:44

您需要在两点上使用return语句。

代码语言:javascript
复制
OnClientClick="return jsfunction();"

function jsfunction()
{
  //
  return false;
}

或者,您可以在函数调用后返回false,如下所示。

代码语言:javascript
复制
OnClientClick="jsfunction(); return false;"

注意如果你想有条件地回发,那么你需要返回true或false。

代码语言:javascript
复制
OnClientClick="return jsfunction();"

function jsfunction()
{
  if(conditionForPostBack)
      return true;
  else
      return false;
}
票数 5
EN

Stack Overflow用户

发布于 2013-05-04 16:57:07

或者,您可以禁用提交行为。默认情况下,asp.net将按钮呈现为提交按钮。如果禁用提交行为,它会将按钮呈现为按钮类型

代码语言:javascript
复制
<asp:Button UseSubmitBehavior="false" OnClientClick="jsfunction() " OnClick="vbfunction" Text="Submit" runat="server" />

但使用此代码时,它不会触发服务器端事件"OnClick“

票数 2
EN

Stack Overflow用户

发布于 2013-05-04 17:40:43

如果你不打算触发带有C#代码的按钮,那么你不需要使用asp:Button。因此,您可以使用常规的html。

代码语言:javascript
复制
<button id='btn_1' onclick='ajax_function()'>Button</button>

html按钮更简单、更快捷。如果使用asp:button,那么应该使用clientid()函数来捕获触发ajax的控件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16372431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档