我有2个问题。如何获取控制器名称和基础控制器中的数据?
一,背景:
我有一个PageController : Controller
和SearchController : PageController
的PageController被定义为:
public class PageController : Controller
{
protected ISite Site;
protected PageConfiguration PageConfiguration;
protected override void Initialize(RequestContext rc)
{
this.Site = new Site(SessionUser.Instance().SiteId);
this.PageConfiguration = this.Site.CurrentSite.GetPage(/* controller name */);
base.Initialize(rc);
}
}
我有网站& PageConfiguration存储的PageController因为每一个实现的PageController需求页他们
问题1:
我想从现有的ASP.NET应用程序移植此。这需要一个页面名称才能获得PageConfiguration对象。而不是页面名称,我将使用控制器的名称。什么是最好的方式让我把它当作一个字符串?
问题2:
我试图渲染的依赖于数据的PartialView,如下所示:
<%@ Page Title=""
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<PageConfiguration>" %>
<%@ Import Namespace="tstFactsheetGenerator.Models.Panels"%>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("Search", new Search { PanelConfiguration = Model.Panels[0] }); %>
</asp:Content>
我可以看到,当的RenderPartial()方法被称为PageConfiguration型号有我需要的小组。但是在PanelConfiguration为null的Search类的构造函数中。
还有什么能让我需要提供的页面数据更好&更有效的方法是什么?谢谢。
你能展示你如何设置Panel? – 2010-06-23 06:34:44
面板在创建PageConfiguration对象时设置。 – DaveDev 2010-06-23 08:19:52