2011-06-20 34 views
2

想知道,是否可以在asp:LinkBut​​ton被点击时调用JavaScript。在asp:LinkBut​​ton被点击的情况下调用JavaScript函数

例如: 我有下面的代码,我希望它被调用JavaScript函数(测试()),当它被点击。我怎么能这样做?

<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> 

回答

1

您需要为您指定id linkbutton,以便在您的代码中缺少以下代码。

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事件按钮易于控制。

+0

确保btnAlertStatus不为空否则它可能会触发错误 – Maxymus

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()"); 
} 
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> 
相关问题