2017-02-04 4 views
0

アンカータグをコードの背後にあるラベルに動的に作成して呼び出すリンクを表示するために、パネルに「次へ」リンクを追加しようとしています機能。プレーンリンク:アンカータグを使用してコード内の関数を呼び出すことができません

<a href=\"#\" runat=\"server\"onserverclick=\"getTestG6Ques\" style=\"text-decoration: none; color: #000000;\">NEXT</a> 

はaspxページで動作し、すでにコンテンツの一部です。関数を呼び出し、次の質問を表示します。しかし、それは理想的ではありません。このコードをaspx.csページのラベルに挿入すると、「NEXT」リンクが表示されますが、ページは更新されますが、関数は呼び出されません。コードは、適切な場所に配置するためにラベルの内側にある必要があります。

testLabel.Text = "<span style=\"margin:0.5em 0.5em 0.5em 0.5em; display:block;\">" + "<b>Test Quiz Grade 6: " + testTopic + "<span style=\"margin-left:5em;\"><a href=\"#\" runat=\"server\"onserverclick=\"getTestG6Ques\" style=\"text-decoration: none; color: #000000;\">NEXT</a></span>" + "</b><br /><br />" + dataReader["question"].ToString() + "</span>"; 

答えて

0

私はあなたのコードをテストし、うまくいきました。あなたの唯一の問題は、この部分記述することです:

runat=\"server\"onserverclick=\ ... 

は、あなたがそれらの間にスペースを入れなければなりませんが、だからあなたのアンカータグはこのようになります。

<a href=\"#\" runat=\"server\" onserverclick=\"getTestG6Ques\" style=\"text-decoration: none; color: #000000;\">NEXT</a> 

そして、それはメソッドを呼び出します。一つだけ:getTestG6Quesは、他の誰がそれが動作するようになったパブリックまたは保護された無効

protected void getTestG6Ques(object sender, EventArgs e) 
{ 
    // To do some thing. 
} 
+0

でなければなりませんか? – matt2605

関連する問題