我有一個MVC 3應用具有默認視圖和第二視圖,我將稱之爲SecondView。 SecondView具有相應的控制器SecondViewController。MVC佈局未找到
SecondViewController.cs包含兩個步驟:Index()
和LoadSecondView(id)
,都返回View("SecondView")
。
SecondView.cshtml包括:
@{
ViewBag.Title = "SecondView";
Layout = "~/Views/_MasterLayout.cshtml";
}
<h2>Second View</h2>
如果我的主要index.cshtml調用window.open( 「SecondView」),則預期在頁面加載,使用的佈局是在查看/ _MasterLayout。 CSHTML。但是,如果它調用window.open(「SecondView/LoadSecondView/id-parameter-string」),則_MasterLayout認爲「當前目錄」是/ SecondView/LoadSecondView而不是/,並且所有指向例如)圖像現在指向錯誤的地方,所以整個佈局被忽略。 (同樣的事情發生,如果LoadSecondView沒有采取任何參數,並且調用URL只是「SecondView/LoadSecondView」)。
有沒有一種方法來調用一個過程(而不是索引)然後加載一個視圖,在正確的位置查看佈局?
所以你的問題實際上不是對MVC佈局不被發現,但你的資源路徑是不正確的? –
那麼,當你這樣說的話......實際上,當你這樣說的話,我想我解決了這個問題 - 當我把一個「/」在佈局文件中的每個網址的前面,似乎工作現在。 –
另外,有你使用像[一瞥]工具(http://www.hanselman.com/blog/NuGetPackageOfTheWeek5DebuggingASPNETMVCApplicationsWithGlimpse.aspx)排查考慮? – neontapir