单击asp:LinkBut​​ton时调用JavaScript函数

时间:2011-06-20 05:28:55

标签: c# javascript jquery asp.net .net

只是想知道,是否有可能在点击时调用asp:LinkBut​​ton下的JavaScript。

实施例: 我有以下代码,我希望它在被点击时调用JavaScript函数(test())。我怎么能这样做?

    <asp:ListView ID="lvTest" runat="server" DataSourceID="dsTest" DataKeyNames="TestID"
    OnItemCommand="lvTest_ItemCommand">
    <LayoutTemplate>
      <ul style="color:#fe8113;">
        <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
      </ul>
    </LayoutTemplate>
    <ItemTemplate>
      <li>
        <asp:LinkButton runat="server" CausesValidation="true" CommandName="" CssClass="orange"
          Text='<%# Eval("TestName")%>'/>
      </li>
    </ItemTemplate>
  </asp:ListView>

3 个答案:

答案 0 :(得分:2)

您还可以在设计本身上添加必需的属性OnClientClick,而不是将其绑定在后面的代码中。

 <asp:ListView ID="lvTest" runat="server" DataSourceID="dsTest" DataKeyNames="TestID"
    OnItemCommand="lvTest_ItemCommand">
    <LayoutTemplate>
      <ul style="color:#fe8113;">
        <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
      </ul>
    </LayoutTemplate>
    <ItemTemplate>
      <li>
        <asp:LinkButton runat="server" CausesValidation="true" CssClass="orange" OnClientClick="return test();"
          Text='<%# Eval("TestName")%>'/>
      </li>
    </ItemTemplate>
  </asp:ListView>

现在可以添加Javascript功能

<script language="javascript" type="text/javascript">
function test()
{
    //add the required functionality
    alert('Hi');
}
</script>

答案 1 :(得分:1)

您需要为您的链接按钮分配ID,以便让代码在您的代码中缺失。

 protected void GridView1_RowDataBond(object source, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton btnAlertStatus = (LinkButton)e.Row.FindControl("btnAlertStatus");

                btnAlertStatus.Attributes.Add("onclick", "alert('test'); ");
        }
    }

您可以轻松地将javascript附加到GridView1_RowDataBond事件中的按钮控件,就像我在上面的代码中所示。

答案 2 :(得分:1)

<asp:LinkButton ID= "lnkButton" runat="server" CausesValidation="true" CommandName="" CssClass="orange"
          Text='<%# Eval("TestName")%>'/>

<script language="javascript" type="text/javascript">
function test() {

 // your code goes here ..

}
</script>

在代码隐藏文件中写这个

protected void Page_Load(object sender, EventArgs e)
{
    lnkButton.Attributes.Add("onclick", "return test()");
}