如何设置默认设置,以便在没有为asp:LinkButton标记显式设置OnClick(即asp.net OnClick属性)时,它不会呈现onclick(javascript属性为javascript)属性客户端侧?默认情况下,asp.net为LinkButton添加了onclick ='doPostBack ....'。
使用案例:
页面上有一个LinkButton标记。对于此页面,如果用户有一个朋友,我只想在单击按钮时运行客户端代码,并且不会因任何原因想要回发帖子。如果用户有多个朋友,我希望点击以触发回发。
包含以下内容的解决方案无济于事:
动态切换控件类型(即如果朋友== 1使用asp:超链接) - 我想避免这种情况,因为它不可扩展。可能有很多情况我希望asp:Link标签进行回发或不进行回发,具体取决于用户上下文或用户属性
使用OnClientClick(我使用jQuery想避免这种情况)
尽可能有用的解决方案:
如果我在运行时可以看到服务器端是否在asp:LinkButton标记上显式设置了OnClick事件,这也可以解决我的问题。任何想法?
答案 0 :(得分:0)
如何而不是动态切换控件(如您所提到的那样是您不想要的解决方案),您可以始终使用asp:HyperLink
并设置NavigateUrl
使用某种查询字符串将页面重定向回自身的属性,指示单击的内容。
如果您根本不希望发布帖子,只需将NavigateUrl
属性留空即可。
当然,如果页面的其余部分依赖于ViewState等,这将毫无价值。
答案 1 :(得分:0)
http://forums.asp.net/t/1129106.aspx
此链接说明了如何在运行时查看服务器端是否使用反射
显式设置了OnClick事件