繁体   English   中英

如果未明确定义OnClick事件,则停止为asp:LinkBut​​ton设置onclick事件

[英]stop setting onclick event for asp:LinkButton if no OnClick event was explicitly defined

如何设置默认设置,以便如果我没有为asp:LinkBut​​ton标记显式设置OnClick(即asp.net OnClick属性),它将不会在客户端呈现onclick(javascript的html属性)? 默认情况下,asp.net为LinkBut​​ton添加一个onclick ='doPostBack ....'。

使用案例:

页面上有一个LinkBut​​ton标记。 对于此页面,如果用户有一个朋友,那么我只想在单击按钮时运行客户端代码,并且出于任何原因都不想发回邮件。 如果用户有多个朋友,我希望单击以触发回发。

包含以下内容的解决方案没有帮助:

  1. 使用任何asp.net Ajaxtoolkit
  2. 动态切换控件类型(即,如果friends == 1,请使用asp:Hyperlink)-我想避免这种情况,因为它不可扩展。 在很多情况下,根据用户上下文或用户属性,我希望asp:Link标记执行回发或不进行回发

  3. 使用OnClientClick(我正在使用jQuery来避免这种情况)

如果可能的话,将有帮助的解决方案:

如果我可以在运行时看到服务器端是否在asp:LinkBut​​ton标记上显式设置了OnClick事件,那么这也将解决我的问题。 有任何想法吗?

如何而不是动态切换控件(如您所提到的,是您不想要的解决方案),您可以始终使用asp:HyperLink并设置NavigateUrl属性,以使用某种指示字符串的查询字符串将页面重定向回自身点击了什么。

如果您根本不希望发布该帖子,只需将NavigateUrl属性保留为空白。

当然,如果页面的其余部分依赖于ViewState等,这将毫无价值。

http://forums.asp.net/t/1129106.aspx

此链接说明如何在运行时查看服务器端是否已使用反射明确设置了OnClick事件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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