私が構築している Web サイトには、同じ場所に表示されますが、ユーザーがメニューをナビゲートする方法に応じて非表示または表示される多数のビューが含まれています。
10 個の異なるビューを含む MultiView があると、ビジュアル スタジオのデザイン ビューがかなり乱雑になります。各ビューのコンテンツをいくつかのユーザー コントロールに分けました。しかし、MultiView に代わるものはありますか?
私は通常、パネルまたはプレースホルダーを使用して、可視性を手動で切り替えます。しかし、VSデザイナーも使用していません...
これを行う方法は、ページにプレースホルダーを配置し、必要に応じてコントロールを動的に追加することです。
あなたが言ったことから、ユーザーがメニューをナビゲートするように見え、これが MultiView コントロールに表示するビューを決定します...
私はこのようなことをしたい
ASPX ファイル:
<asp:PlaceHolder id=phContentContainer" runat="server"></asp:PlaceHolder>
コードビハインド
switch (MenuSelection)
{
case "LOGIN" //Display the login control
{
ucLoginUserControlType loginControl = (ucLoginUserControlType)LoadControl("~/UserControls/ucLoginUserControlType.ascx");
phContentContainer.Controls.Add(loginControl);
}
}
明らかに、上記の 10 個のビューを使用する場合よりもコードビハインドをもう少し効率的かつクリーンにする必要がありますが、アイデアは理解できます。
これにより、aspx ページがシンプルに保たれ、将来のコントロールの追加が実装しやすくなります。
これが役立つことを願っています。私はメモリからコードを入力したので、一部の構文が正しくない可能性があります。うまくいかない場合は、私に叫んでください。
幸運を!