0

ウィザードステップで多くのパネルを使用したasp.netウィザードコントロールを使用しました。各パネルには、スタイル表示を持つ単一のクラスがあります:なし。ユーザーが「+」ボタンをクリックすると、クラスを切り替えて可視性を変更しますパネルからコントロールの値を読み取るために、パネルが表示に設定されているコントロールのみを読み取ろうとしましたが、これは機能しないようですスタイルがありますが display:none

私はこれを試しました:

 if ((this.Form.FindControl("ContentPlaceHolder1").FindControl("wizard").FindControl("panel" + i)).Visible)
{
//where i is the current count.I have named panel in a continuous order like panel1,panel2....etc This code executes even if the panel is hidden in browser
}
4

2 に答える 2

0

たとえば、次のようにアクセスすることで、ASP.NET コントロールの属性にアクセスできます。

Panel1.Attributes[("Style")]

次に、属性「Style」に「disyplay:none」スタイルが含まれているかどうかを確認できます。また、このリンクをhttp://msdn.microsoft.com/en-us/library/kkeesb2c(v=vs.100).aspxで表示することもできます。

于 2013-06-21T07:23:58.317 に答える
0

スタイルdisplayとコントロールvisibilityは 2 つの異なるものです。

コントロールをVisible='false';に設定した場合。サーバーは、このコントロールをクライアント側に送信/レンダリングしません。display: none一方、スタイルは次のようになります。CSS スタイルのために表示されないだけではありません。

だからdisplay: none!= Visible='false'

displayに設定されているかどうかをポストバックする必要がある場合noneHiddenFieldあなたの隣に追加することができますpanel; javascript でその値をVisible/に設定し、 の値をHiddenチェックHiddenFiledしてサーバー側での可視性を判断します。

于 2013-06-21T07:28:45.310 に答える