2011-06-20 66 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> 
相關問題