2

I want to wrap every next web application with A top menu and right menu like this :

enter image description here

Every new application should be integrated in this master wrapper. I thought to create a master page for the wrapper but i will have to create a similar master page for every new application.


My question :

What's the suitable pattern to do some thing like that ?

3
  • Look for portal integration patterns
    – Laiv
    Nov 7, 2016 at 22:11
  • Could you expand on why you would need to 'create a similar master page for every new application' ?
    – Dan-Cook
    Nov 12, 2016 at 12:52
  • @Dan-Cook I don't want the same master page for every application , i want some thing like a one engine and every application will fit in it Nov 12, 2016 at 13:19

2 Answers 2

2
+50

This is a typical variation of the header-body-footer template pattern. There are many ways to implement it.

Have you considered layouts?

enter image description here

Uses razor

A similar pattern is: Templating Composit View

2
  • Thanks a lot , if the wrapper would be (using razor) , is it possible to integrate (asp.net web form) as the content .i mean one layout (using razor) and many web applications as content(using asp.net web forms) Nov 12, 2016 at 17:16
  • Could you clarify the idea please Nov 19, 2016 at 9:26
0

First, let me clarify that my web experience has been with ASP.Net web pages with Razor and MVC, but in the ASP.Net web pages with Razor projects that I maintain, we use the _SiteLayout.cshtml page to do exactly what you're asking. Similar to this:

<body>
<div id="wrapper" class="toggled">
    <!-- Sidebar -->
    <div id="sidebar-wrapper">
        <ul class="sidebar-nav">
            @Html.Raw(Configuration.Sidebar)
        </ul>
    </div>

for the sidebar (ours is to the left, but you can tweak the layout to get it on the right). We also use a nav section for menus at the top:

<nav>
    <ul id="menu">
        <li><a href="~/Section/Admin">Admin</a></li>
        <li><a href="~/Section/Create">Create</a></li>
        <li><a href="~/Section/Search>Search</a></li>
        <li><a href="~/Section/Reports">Reports</a></li>
    </ul>
</nav>

And after that, inject the body:

<div id="body">
    @RenderSection("featured", required: false)
    <section class="content-wrapper main-content clear-fix">
        @RenderBody()
    </section>
</div>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.