This is a migrated thread and some comments may be shown as answers.

[Solved] Issue tying partial views within tabstrip to master page

0 Answers 45 Views
TabStrip
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Mark
Top achievements
Rank 1
Mark asked on 31 May 2012, 12:37 AM
So I have a master page that defines my header, menu, footer, etc.... On one of my content pages I have a tabstrip control with 3 tabs. Each tab should reference an .ascx or .aspx page under the tab selected within the rendered master page. In other words, showing the header, menu, the tabs, the content, then footer. For the likes of me, I cannot get it to work like this. 

So if you got to the page that has the tabs, it looks like this:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Index
</asp:Content>
 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 
    <% Html.Telerik().TabStrip()
           .Name("mcpStrip")
           .Items(mcpStrip =>
                      {
                          mcpStrip.Add()
                              .Text("Subscriber")
                              .LoadContentFrom("Subscriber", "MCP");
                          mcpStrip.Add()
                              .Text("Location")
                              .LoadContentFrom("Location", "MCP");
                            mcpStrip.Add()
                                .Text("Device")
                                  .Content(() =>
                                               {%>
                                    <ul>
                                        <li>Device Info 1</li>
                                        <li>Device Info 2</li>
                                    </ul>
                                    <% });
                      }
           )
           .SelectedIndex(0)
           .Render();
    %>
 
</asp:Content>

The LoadContentFrom refers to a controllers pages with partial views (the way that made sense to do this(is this not correct?)). So if you were to look at the controller for this particular part, it looks like this:

    public class MCPController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult Subscriber()
        {
            return View();
        }
 
        public ActionResult Location()
        {
            return View();
        }
 
        public ActionResult Device()
        {
            return View();
        }
 
    }

I have tried using just View and also just PartialView within here. The info that should be display when the subscriber tab is select (as an example is:

<form runat="server">
<h2>Subscriber</h2>
        <div>
        <input class="mcpRadio" type="radio" value="Add"/>
        <input class="mcpRadio" type="radio" value="Delete"/>
    </div>
    <div class="mcpSubs">
        <fieldset>
            <br/>
            <div>
            <label>Subscriber ID: </label>
            <input type="text"name="mcpsubsId"/>
            <label>Location ID: </label>
            <asp:Button ID="Button1" CssClass="btnClick" runat="server" Text="Location Search"/>
            <br/>
            <label>Name: </label>
            <input type="text" name="mcpsubsName"/>
            <br/>
            <label>PPV Privileges: </label>
            <input type="text" name="mcpsubsPpvpriv"/>
            <br/>
            <label>PPV Cap: </label>
            <input type="text" name="mcpsubsPpvcap"/>
            <br/>
            <label>PPV Reset Day: </label>
            <input type="text" name="mcpsubsPpvreset"/>
            <br/>
            <label>Phone: </label>
            <input type="text" name="mcpsubsName"/>
            <br/>
            <label>Pin: </label>
            <input type="text" name="mcpsubsPin"/>
            <br/>
            <input type="checkbox" name="mcpsubsPinreq" value="Pin Required"/>
            </div>
            <div id="mcpsubsSvcsbox">
                <label>Services:</label>
                <br/>
                <br/>
                <input type="text"/>
                <br/>
                <br/>
                <asp:Button CssClass="btnClick" ID="addSvcs" runat="server" Text="Add Services"/>
                <asp:Button CssClass="btnClick" ID="addSubs" runat="server" Text="Add Subscriber"/>
            </div>
            <br/>
        </fieldset>
    </div>
    </form>

 Problem(s) here are that if I go to the index (the page initially with the tabs) it shows the tabs, but no content below then and before the footer. If I select a tab, it then just shows the content either with or without the master page data, but not the tabs. So one cannot just select between tabs and view the associated html/asp. 

Am hoping I explained this well enough. Have searched and searched to no avail. I basically just want to tie each tab to a page/content with controls on.

Thanks much for the help!

 
Tags
TabStrip
Asked by
Mark
Top achievements
Rank 1
Share this question
or