0

最初は見えないASP.NETテーブル行がいくつかあります。クリックすると、表示または非表示のテーブル行のスタイルを変更するJavascript関数を実行しています。

それを表示するには:

document.getElementById(id).style.display = ""; 

それを隠すには:

document.getElementById(id).style.display = "none";

そしてこれは機能します。

問題は、行が表示されている場合にのみ、行の内容でフィルタリングを行う必要があることです。

コードの背後にあるスタイルは、設計どおりの状態を維持し、現在の状態を取得しません。

要素が表示されているかどうかにかかわらず、情報を取得するための最良のアプローチは何でしょうか?

4

2 に答える 2

0

そのJavaScriptを実行するときは、サーバーコントロール内の何かの値を変更する必要があります(新しい値でサーバーにポストバックします)。まだ何かを配置していない場合は、HiddenFieldコントロールのような単純なものを使用できます。

したがって、これをマークアップに追加します。

<asp:HiddenField ID="isRowShowing" Value="True" runat="server" />

そして、JavaScript関数でこれを行います。

//To show
document.getElementById(id).style.display = "";
document.getElementById('<%= isRowShowing.ClientID %>').value = "True";

//To Hide
document.getElementById(id).style.display = "none";
document.getElementById('<%= isRowShowing.ClientID %>').value = "False";

次に、コードビハインドで確認できます。

if(isRowShowing.Value == "True")
{
    // Do stuff
}
else
{
    // Do other stuff.  Or don't do stuff.  Whatevs.
}
于 2013-03-25T14:41:05.737 に答える
0

それを表示するには:

document.getElementById(id).style.display="inline";

それを隠すには:

document.getElementById(id).style.display="none";

確認するには:

if(document.getElementById(id).style.display=="inline") {
    //Do your stuff
    }

それとも私は何かが足りないのですか?

于 2013-03-25T14:52:33.717 に答える