テーブルが.netコントロールであると仮定していますか?その場合、.netはクライアント側のIDと同じサーバーIDを割り当てないため、 'id'を渡すだけでは不十分です。しないでください(
MyButton.OnClientClick = string.Format("{0}.style.display=''", ControlIWantToHide.ClientID);
上記のコードは、あなたには、いくつかのJavaScriptを添付する方法を示しています
は、あなたはそれが本当のクライアント側のIDが取得するために.NETコントロールサーバ側のClientIDプロパティにアクセスする必要がありますそれをjavaと呼んでください)。MyButtonという名前の.net asp:ボタンをクリックして、クライアント側のクリックでControlIWantToHideというコントロールを非表示にします。
注:上記はすべてのブラウザで機能するように調整する必要があるかもしれませんが、.netのものはここで重要な要素です.ClientIDはあなたが必要としているものと思われます。コメントへの応答に基づいて
、あなたがトグルしている要素は、.NETコントロールではありませんが、それらをトリガーボタンはそう、次のとおりです。(EBROWNにより投稿機能に基づく):
<script type="text/javascript">
function hide(id)
{
var element = document.getElementById(id);
element.style.display='none';
}
function show(id)
{
var element = document.getElementById(id);
element.style.display='block';
}
</script>
あなたはJavaScriptのイベントハンドラのサーバー側を取り付けることにより、ページ内の要素のトグルを引き起こす可能性:idを持つ要素が表示されます..which
MyButton.OnClientClick = "Show(tbl1);Hide(tbl2);return false;";
TBL1 dをtbl2で非表示にします。これは、あなたがトグルしている要素が.netコントロールでない場合、動作します。つまり、runat = "server"属性がありません。サーバー上のasp:ボタンにjavascriptコードを追加していても、クリックするとクライアント上でのみ実行されることに注意してください。 asp:buttonのデフォルトのポストバック動作を止めるには、上記のように 'false'を返すことを忘れないでください。
実際には、テーブルは.Netコントロールではありません。彼らはhtmlテーブルです。だからこそ、私は提出が行われる前にこれを処理するためにjavascriptを使うつもりだった。 – Eric
[OK]を、クライアント側の.netコントロールのものにアクセスするときに、典型的な問題に答えました。たとえそれが複製に十分であっても、実際のコードを編集して含めることは可能でしょうか?正直言ってタイプミスかもしれませんが、間違っていることはすぐにはわかりません。 –
私はあなたに良いアイデアを与えるためにいくつかのコードを追加しました – Eric