我在我的控制器中有兩個操作方法。我希望兩個都返回一個視圖。MVC3兩個控制器操作可以返回一個視圖嗎?
原因是因爲我在我的視圖中進行條件檢查,檢查一個屬性是否爲null,然後不顯示div,如果用戶單擊加載按鈕,則需要通過設置屬性返回相同的視圖顯示模型,然後顯示div。
該邏輯至少需要15次,我希望創建單獨的操作來返回模型,但返回一個視圖。可能嗎?
我在我的控制器中有兩個操作方法。我希望兩個都返回一個視圖。MVC3兩個控制器操作可以返回一個視圖嗎?
原因是因爲我在我的視圖中進行條件檢查,檢查一個屬性是否爲null,然後不顯示div,如果用戶單擊加載按鈕,則需要通過設置屬性返回相同的視圖顯示模型,然後顯示div。
該邏輯至少需要15次,我希望創建單獨的操作來返回模型,但返回一個視圖。可能嗎?
你只需要在你的return語句聲明,視圖名稱:
public ActionResult SomeAction()
{
// do something
return View("SharedView", viewModel);
}
如果你有一個名爲SharedView觀點,在控制器的所有動作都可以訪問它。如果要在其他控制器上的操作中共享它,可以在視圖中使用共享文件夾,或者使用視圖名稱的狀態完整路徑。
這是一個msdn參考頁面,[View Method] (HTTP://msdn.microsoft.c om/en-us/library/dd460310%28VS.98%29.aspx) – Roman 2012-01-09 00:28:52
return View("viewName", data);
第一個參數告訴框架,從中查看渲染和第2個參數用於爲這一觀點提供了數據
其次,你可以使用
return RedirectToAction("actionName",new{data=something});
Rick仔細閱讀這個問題。其控制器行動。即在一個控制器中採用兩種操作方法 – RollerCosta 2012-01-10 05:10:59
如果你想返回相同的觀點與不同的viewmodels,我更喜歡傳遞一個參數,它允許我區分如何返回給定的視圖,而不是創建單獨的操作返回相同的視圖... – 2012-01-08 21:40:17