2011-11-22 125 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