2011-07-15 10 views
0

この質問はフレーズにはかなり難しいので、私にご負担ください。セクショニングされたページコンテンツを作成する

VS Expressでは、一連のWebページを作成しています。各ページには、特定のユーザー役割に関連する一連の機能が必要です。私はすべての私のHTMLコードを1つのaspxページにしたいが、navbarのドロップダウンメニューからリンクされるURLによって決定されるような特定のセクションしか表示されない(うまくいけば非同期的に)。

私は、後でブックマークなどを壊さずに変更できるように、私のURLを素敵で可鍛性に保つために、再ルーティング(私はそれが呼ばれていると思います)を使いたいと思います。

ユーザーとして、特定の役割では、私はドロップダウンメニューの上にマウスを置いて、実行が許可されている機能のみを表示します。これをクリックすると、domain.com/form1のようなURLが更新され、そのアクションに関連するコードブロック(aspxページに、そして再び好ましくは非同期的に)が表示されます。

私はdivsとCSSを使用すると思っています。 "display:none;"プロパティ。私は、あなたが望むなら、様々な機能の「見解」をどのような仕組みで切り換えるのかはわかりません。私はASP.NETのJavascriptを使うべきですか?

このような複雑な質問は申し訳ありません。私は20分以上を過ごしました。これが私が求めることができる最良の方法です。これはどんな意味ですか?もしそうなら、私はこれについて間違っているのですか、正しい道にいるのですか?私はこれで任意の刺すように感謝します。

乾杯;)

をお読みください:私はもともとURLでこれを実現したかったが、私は「マルチビュー」ASP.NETコントロールを使用すると、私のジレンマに対するより良い解決策だったされることがわかりました。私は元の質問と私の答えとの間に想定される矛盾を解消したかっただけです。私が言ったように、当時の質問方法を理解することは難しい問題でした。 :)

答えて

0

.NET、とりわけASP.NETの新機能であるため、私は文字通り毎日新しいものを学んでいます。私は最近、 "Multiview"コントロールを発見しました。これは素晴らしいものです。私は複数のメニューバーを作成するために使用しました(これは賢明ですが、異なるユーザーの "モード"やユーザーグループなどをシミュレートすることです)。また、元のページで述べたように、質問。その後、メニューを切り替えるためのセカンダリコントロールを追加しました。ここで私は私のマルチメニューバーのための制御を実装する方法のためのいくつかのサンプルコードは次のとおりです。固定;左:私は位置」として持っている「modeMenu」のドロップダウンで「MenuView」を制御するための背後にP

<asp:MultiView ID="MenuView" runat="server"> 
    <!-- ADMIN GROUP --> 
    <asp:View ID="View0" runat="server"> 
     <asp:Menu ID="adminNav" runat="server" CssClass="menu" IncludeStyleBlock="False" Orientation="Horizontal"><DynamicMenuItemStyle /> 
      <Items> 
       <asp:MenuItem NavigateUrl="~/Reports.aspx" Text="View Reports" /> 
       <asp:MenuItem NavigateUrl="~/Approve.aspx" Text="Compliment hard-working employees" /> 
       <asp:MenuItem NavigateUrl="~/Promote.aspx" Text="Promote the qualified employees :)" /> 
       <asp:MenuItem NavigateUrl="~/Fire.aspx" Text="Send underlings home to starving children" /> 
      </Items> 
     </asp:Menu> 
    </asp:View> 
    <asp:View ID="View1" runat="server"> 
    <!-- USERS --> 
     <asp:Menu ID="userNav" runat="server" CssClass="menu" IncludeStyleBlock="False" 
      Orientation="Horizontal"><DynamicMenuItemStyle /> 
      <Items> 
       <asp:MenuItem NavigateUrl="~/Work.aspx" Text="Look productive" /> 
       <asp:MenuItem NavigateUrl="~/Complain.aspx" Text="Complain about boss" /> 
       <asp:MenuItem NavigateUrl="~/Praise.aspx" Text="Show appreciation for your awesome boss" /> 
      </Items> 
     </asp:Menu> 
    </asp:View> 
</asp:MultiView> 
<!-- MODE MENU --> 
<asp:DropDownList ID="modeMenu" runat="server" AutoPostBack="True" 
    ViewStateMode="Inherit" CssClass="modeMenu" EnableViewState="True"> 
    <asp:ListItem>Admin</asp:ListItem> 
    <asp:ListItem>User</asp:ListItem> 
</asp:DropDownList> 

コード5pxの;上:5ピクセル;私のCSSではそれを邪魔しないようにしています。

Protected Sub mode(ByVal sender As Object, ByVal e As System.EventArgs) Handles modeMenu.Load, modeMenu.SelectedIndexChanged 
    Session.Add("mode", modeMenu.SelectedValue) //I use a session variable to maintain the state of the menu. 
    Select Case (modeMenu.SelectedValue) 
     Case "Admin" 
      MenuView.ActiveViewIndex = 0 
     Case "User" 
      MenuView.ActiveViewIndex = 1 
    End Select 
End Sub 

ありがとうございます。私は誰かがこれが有用であると願っています。乾杯;)

0

実際には、URL と書き直しと呼ばれています。これを実現するにはいくつかの方法がありますが、IISではウィザードが簡単になる可能性があります。

1ページ内のすべてのHTMLについて、パネルを使用して必要なときに表示を変更することができます。

+0

私は欲しいもののラインに沿って何かが聞こえる。どのようにコード内でそれを達成するためのアイデア?つまり、私はどのようにURLリンクを介して可視性を切り替えるのですか? – Chiramisu

関連する問題