2011-06-20 13 views
2

クリックしたときにasp:LinkBut​​tonでJavaScriptを呼び出すことができますか?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> 

答えて

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'); "); 
     } 
    } 

あなたは簡単にGridView1_RowDataBondイベントでボタンコントロールにJavaScriptを添付することができます。コードで

+0

はbtnAlertStatusは、それがエラーを発射することがあり、他のnullでないことを確認してください追加することができます – 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> 

ファイルの背後にあるあなたはまた、代わりに、背後にあるコードでそれを結合の、設計自体にOnClientClickとして必要な属性を追加することができ、この

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

を書きます。

<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> 
関連する問題