[英]stop setting onclick event for asp:LinkButton if no OnClick event was explicitly defined
如何设置默认设置,以便如果我没有为asp:LinkButton标记显式设置OnClick(即asp.net OnClick属性),它将不会在客户端呈现onclick(javascript的html属性)? 默认情况下,asp.net为LinkButton添加一个onclick ='doPostBack ....'。
使用案例:
页面上有一个LinkButton标记。 对于此页面,如果用户有一个朋友,那么我只想在单击按钮时运行客户端代码,并且出于任何原因都不想发回邮件。 如果用户有多个朋友,我希望单击以触发回发。
包含以下内容的解决方案没有帮助:
动态切换控件类型(即,如果friends == 1,请使用asp:Hyperlink)-我想避免这种情况,因为它不可扩展。 在很多情况下,根据用户上下文或用户属性,我希望asp:Link标记执行回发或不进行回发
使用OnClientClick(我正在使用jQuery来避免这种情况)
如果可能的话,将有帮助的解决方案:
如果我可以在运行时看到服务器端是否在asp:LinkButton标记上显式设置了OnClick事件,那么这也将解决我的问题。 有任何想法吗?
如何而不是动态切换控件(如您所提到的,是您不想要的解决方案),您可以始终使用asp:HyperLink
并设置NavigateUrl
属性,以使用某种指示字符串的查询字符串将页面重定向回自身点击了什么。
如果您根本不希望发布该帖子,只需将NavigateUrl
属性保留为空白。
当然,如果页面的其余部分依赖于ViewState等,这将毫无价值。
http://forums.asp.net/t/1129106.aspx
此链接说明如何在运行时查看服务器端是否已使用反射明确设置了OnClick事件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.