2012-03-04 73 views
1

我有一個.aspx文件。它包含了我需要呈現網頁一部分的所有代碼。我需要在我的_SiteLayout.cshtml文件中調用它。如何使用我的默認_SiteLayout.cshtml文件呈現.ASPX頁面?

我試圖以通常的方式,通過調用:

@{ 
    Layout = "/Shared/_SiteLayout.cshtml"; 
} 
     @RenderPage("Shared/page.aspx"); 

然而,這導致錯誤 -

[HttpException(0x80004005的):文件 「/Shared/page.aspx」不能 被渲染,因爲它不存在或不是有效的頁面。]

的路徑是正確的,/Shared/page.aspx是文件是ST或。

我能在這種情況下做什麼?

+0

爲什麼不把html代碼移動到新的_Layout.cshtml文件並使用Razor引擎? – Lloyd 2012-03-04 03:25:14

+0

可能想看看這篇博文:http://www.hanselman.com/blog/MixingRazorViewsAndWebFormsMasterPagesWithASPNETMVC3.aspx – 2012-03-04 04:11:31

+0

我在.siteLayout文件中使用Razor引擎,但是.aspx文件非常複雜,而且會很困難遷移到剃刀。 – 2012-03-04 10:48:49

回答

1

你有沒有考慮@ html.RenderAction()方法,並有另一個acion呈現page.aspx?我沒有嘗試,但會認爲它會工作。