2011-11-22 63 views
0

我知道你可以从webform世界的内容页面访问母版页元素,只需添加一个引用然后调用Page.Master。访问母版页内容webform vs MVC

在MVC 3.0 World中如何做到这一点?

+1

ASPX or Razor?你想要访问什么? – SLaks

+0

这是使用剃刀引擎 –

+0

你想完成什么?这不应该是必要的。 – SLaks

回答

2

不能从视图中访问元素的布局 - 这是MVC和而不是Web表单。

在Web表单中没有可以引用和操作的控件。

如果你想在布局东西从视图中更改:

  • 使用ViewBag(如其他建议在这里)将值传递到布局(显示它们,使用它们的条件下,通他们拨打电话RenderAction或部分视图,...)。使用共同的BaseViewModel并强烈键入布局也可以做到这一点。
  • 在你的布局中定义一个Rendersection,并在你的视图中放置一个section属性 - 无论你放在该部分中的什么都会在布局中呈现。
1

渲染系统在两者之间是不同的。

剃刀视图呈现从孩子到父母,这意味着您的布局页面将最后呈现。

例如,下面的部分是由你布局页:

<head> 
    <title>@ViewBag.Title</title> 
</head> 

你能确定是什么标题从您的视图如下图所示:

@{ 
    ViewBag.Title = "Poo"; 
} 

所以这是一个教授渲染顺序。

+0

我的问题是关于从内容访问母版页元素。不知道它与问题有什么关系。请详细说明。 –

+0

@palmsnow再次阅读答案,您会看到它与您的问题有关。 – tugberk

0

你不应该这样做。 “主”页面按照REVERSE顺序呈现而不是在Web表单中完成,因此内容尚未存在。 你为什么试图访问它,也许我们有更好的解决方案吗?

编辑:对不起tugberk,我看到我的基本上是你说什么,但也许一个点运到这儿哈:)

+0

是的,你的主题是:) – tugberk