2016-05-18 7 views
1

実行時に私のページにサブミット入力を追加し、クリックされた入力のIDをイベントハンドラで使用したいとします。ここ実行時に作成されたクリックされた入力のIDを取得する方法

<asp:Content runat="server" ID="CNT1" ContentPlaceHolderID="CPH1"> 
    <div id ="CNT" runat="server"> 
    </div> 
</asp:Content> 
<script language="c#" runat="server"> 


private void btnClick(object sender, EventArgs e) 
{ 
    string id = ((HtmlInputSubmit) sender).ID; 
    // some other code using id 
} 
</script> 

とある私のaspx.csコード

foreach (DataRow dr in dt.Rows) 
{ 
    CNT.Controls.Add(new LiteralControl(
    "<input type=\"submit\" runat=\"server\" id="+dr.ItemArray[0].ToString()+ 
     " value=\"val1\" OnServerClick=\"btnClick\"/>")); 
} 

私は何の問題もなくaspxページに私の入力を作成するには、このコードを使用することができます:

は、ここに私のaspxコードです。民間からの保護に

+0

質問は何ですか?これは動作していません "string id =((HtmlInputSubmit)sender).ID;" –

+0

より具体的に、問題を理解できないようにしてください –

+0

あなたのbutton_clickイベントが発生したかどうかチェックアウトを試みますか? – Irfan

答えて

0

変更アクセス修飾子:

protected void btnClick(object sender, EventArgs e) 
{ 
    string id = ((HtmlInputSubmit) sender).ID; 
    // some other code using id 
} 

プライベートメンバ関数にアクセスすることができませんので。

+0

なぜ私のコードが機能していないのか知ることは貴重です。 – Behnam

+0

更新された応答を参照してください – Ash

+0

タイプ 'ASP.predictions_aspx'のオブジェクトをキャストして 'System.Web.UI.WebControls.Button'と入力できません。 – Behnam

関連する問題