2011-09-21 71 views

回答

0

在ASP.NET MVC3你不能直接調用這些文件直接呈現的觀點。他們只能通過控制器提供服務。

爲了調用視圖中的共享文件夾竟被你必須做類似下面的東西:

public class HomeController : Controller 
{ 
    public ActionResult About() 
    { 
     return View("Construction"); 
    } 
} 
+0

確定。我可以在我的cshtml中使用@ html.hiiddenfor(model.name,「name」),以便從控制器我可以訪問模態。名稱哪些將具有值「名稱」。 – Rakesh

4

你不能重定向到一個儲存的~/Views文件夾包括~/Views/Shared裏的任何東西。該文件夾不是由ASP.NET MVC提供的,不能直接訪問。另外請注意,在ASP.NET MVC中,您不直接提供.cshtml頁面。您始終通過控制器操作傳回視圖,這些視圖可能代表.cshtml頁面。

現在,如果你有直接的站點根目錄下~/Shared一些共享的文件夾,然後你可以這樣做:

<a href="@Url.Content("~/Shared/UnderConstruction")">construction</a> 
+0

無其不獲取導航。未找到錯誤資源並且該文件夾中存在該頁面。 – Rakesh

+0

@Rakesh,正如我在我的答案中所說的.cshtml頁面不能直接提供。 –

+0

確定一兩件事,我怎麼能在Global.asax中設置像它應該定位到特定的page.is本會工作頁面的任何錯誤? routes.MapRoute(「error」,「error」,new {controller =「Shared」,action =「UnderConstruction」}); – Rakesh

0

在ASP.NET MVC你只能重定向到控制器和控制器返回一個視圖。您可以按照您的常規控制器視圖的相同方式按名稱訪問Shared中的視圖。解析視圖名稱時,ASP.NET MVC首先查看控制器視圖文件夾,然後查看共享視圖文件夾。

+0

確定只是電話我如何執行下面的動作construction Rakesh

+0

你不能,注意。 – Blindy

1

如果你想顯示的URL的網頁「共享/ underconstruction」按其他職位:

  • 創建控制器SharedController。
  • 定義動作「UnderConstruction」
  • 在視圖/共享/文件夾中創建「UnderConstruction.cshtml」。
  • 地圖網址「共享/ {}行動」,新{控制器=「共享」}如果你想明確。

給出一個鏡頭...說實話,即使我不知道這是否會工作,並且你會污染你的「共享」文件夾。您可以將現有的Shared文件夾重命名爲其他內容,也許可以將ViewStart.cshtml修改爲指向新的文件夾。

+0

好的謝謝。所以我如何在global.asax中設置相同的值。像而不是去任何錯誤頁面應該隨時瀏覽underconstruction – Rakesh

+0

實施的Application_Error –

相關問題