2009-03-03 5 views
3

私は、ユーザーが記入してレポートを生成するための多数のフォームを表示するために使用されるページを持っています。これらのフォームはそれぞれ独自のASP:Panelコントロール内にあり、フォームの表示を切り替えることができます(適切なアクセス許可を持つユーザーのみが許可されたレポートにアクセスできるようになります)。リンクとアンカーを使用してASP.NETの表示を切り替える最も良い方法は何ですか?

クライアントは、各フォームを指し示すハイパーリンクを含むページ上の領域のような「目次」を要求しています(ページをスクロールして、必要な特定のレポートフォームを見つけるのに時間を費やす必要はありません)。 )。これは標準<a href="#Area"><a id="Area">タグを使用して簡単に達成できます。私が今探しているのは、ユーザーがアクセスできないレポートのリンクを隠すことができる方法です。

私は最初にASP:LinkBut​​tonコントロールを使用することを考えていましたが、リンクをクリックすることでポストバックが発生することはありません(非常に不必要です)。同じ目標を達成するために使用できる他の方法はありますか?私は、レポートフォームを含むパネルの可視性を切り替えると同時に、対応するリンクの可視性を簡単に切り替えることができるようなものを探しています(現在、コードビハインドから行われています)。

注:言語として

答えて

3

のVBを使用しますが、リンクコントロールを使用している場合は、単にその関連パネルの視認性にリンク基盤を表示または非表示にすることができます。

Link1.Visible = Panel1.Visible 
+0

通常のASP:HyperLinkコントロールが存在することを常に忘れているので、私はここで深刻な顔をしてしまいます。 – TheTXI

+0

LOL。私たちの最善を尽くす。 –

0

私はASPを使用しての最初の考えていた:私は同意

(それは非常に不必要だろう)LinkBut​​tonコントロールが、私はすべてのポストバックがリンクをクリックから発生する必要はありません。リンクをクリックするたびにほとんどのページを再描画し、技術的観点から適切なポケットバックを作成することをお勧めします。さらに、ユーザーがリンクをクリックすると、サーバーへの往復を期待するように条件が設定されています。それはハイパーリンクが通常行うことです。したがって、ユーザーエクスペリエンスの観点からも適切です。

+0

ジョエル:私は往復は必要ありません。ページは一度だけ描画されます(最初に入力したとき)。ページの最初の到着時に、彼らがアクセスできるフォームのすべての部分が描画されます。すべてのリンクで行うべきことは、ページに沿ってさらに適切なアンカーにドロップすることです。 – TheTXI

+0

通常のアンカータグで十分でしょう。一度に1つのパネルしか表示されていなかったという印象を受けました。そのような場合は、すべてを前もってレンダリングするのではなく、要求に応じてサーバーに戻ることをお勧めします。 –

+0

@Joel:クライアントが心を変える前に、大きなパネルを開いたときに一度に1つのカテゴリのフォームしか表示されませんでした。残念なことに、クライアントは、すべてが見えるように見えるすべてのものが1つに見えるようにすることを決めたので、このコンテンツスタイルのリクエストの表につながりました。 – TheTXI

関連する問題