代码之家  ›  专栏  ›  技术社区  ›  Adrian Adkison

如果未显式定义onclick事件,则停止为asp:LinkButton设置onclick事件

  •  0
  • Adrian Adkison  · 技术社区  · 14 年前

    如何设置默认设置,以便如果不显式为asp:linkbutton标记设置onclick(即asp.net onclick属性),它不会呈现onclick(javascript的html属性)属性客户端?默认情况下,ASP.NET为LinkButton添加onclick='DoPostback….'。

    使用案例:

    页面上有一个LinkButton标记。对于这个页面,如果用户有一个朋友,我只希望在单击按钮时运行客户端代码,并且不会因为任何原因而希望发回日志。如果用户有多个朋友,我希望单击以触发回发。

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

    1. 使用任何ASP.NET Ajaxtoolkit
    2. 动态切换控件类型(例如,如果friends==1,则使用asp:hyperlink) -我想避免这种情况,因为它不可伸缩。在许多情况下,我可能希望ASP:Link标记执行回发或不执行回发,具体取决于用户上下文或用户属性。

    3. 使用onclientclick(我正在使用jquery希望避免这种情况)

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

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

    2 回复  |  直到 14 年前
        1
  •  0
  •   Steve Danner    14 年前

    与其动态切换控件(正如您提到的是您不想要的解决方案),不如 总是 使用一个 asp:HyperLink 并设置 NavigateUrl 属性将页重定向回其自身,并使用某种类型的查询字符串指示单击的内容。

    如果你一点也不想发这个帖子,只需离开 导航员 属性空白。

    当然,如果页面的其余部分依赖于viewstate等,这将是非常无用的。

        2
  •  0
  •   Adrian Adkison    14 年前

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

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