這是事情。我有一個MVC Action,並且在那個動作中,我已經應用了一個自定義的ActionFilterAttribute來實現反序列化。現在,我想要做的是根據在該視圖中設置的ViewBag.Title設置一些標題。如何在基礎視圖設置ViewBag.Title後訪問它?
我已經試過包裹的ViewResult在我自己的,並重寫的ExecuteReuslt但ViewBag始終是空:-(。
這甚至可能或者根本一旦執行_layout的MVC引擎重置ViewBag ?
更新:。 讓我發佈一些代碼示例,以更清楚我想做的事我有一個電子郵件服務,在那裏我使身體從一個MVC視圖所以我的觀點是這樣的:
@{ViewBag.Title = "EventCreated";}
Something that ressembles an email message here.
現在我有一個控制器,與看起來像這樣的動作:
public ActionResult HelloWorld(MailView<HelloWorldMessage> msg)
{
Response.Headers["subject"] = "Test subject";
return View(msg);
}
我要作出這樣的頭[「主題」]聲明看起來像Response.Headers [「主題」] = ViewBag。標題;我希望能夠讓視圖認爲它正在處理一個正常的網頁。
我使用ActionFilterAttribute嘗試和壓倒一切的OnResultExecuted,但不能讓它開始工作。
一個可能的選項是將其設置佈局頁面上,實際上根據跟蹤其佈局中使用一定的標準。這樣我仍然可以讓Reponse的東西遠離我的視野,但使它變得相當乾淨。你怎麼看?
感謝, 安澤
我很困惑,我們可以看到一些代碼,指出你要完成的事情? – slandau 2011-06-02 15:51:48
好吧,我已經添加了一個例子,希望更清楚。更好? – 2011-06-02 18:52:49
如果我正確認識你,你想從視圖本身更新ViewBag? – slandau 2011-06-02 18:54:52