學習與使用ASP.NET MVC這樣久,還是對asp.net念念不忘。能否在asp.net mvc去顯示aspx或是user control呢?
這個靈感(算不上靈感,只能算是想法)是來自前些天有寫過一篇《多個視圖結果顯示於一個共用預覽視圖內》http://www.cnblogs.com/insus/p/3633298.html 其中有一個Render方法。以致想起以前開發asp.net時,也經常Render用戶控件。即是說把網頁經過Render之后,轉換為是一串字符串。
那我們也一定可以把這串字符串Return給asp.net mvc的視圖。
回想過去,看看有關的用戶控件(UserControl) http://www.cnblogs.com/insus/tag/UserControl/
看看HtmlTextWrite相關:http://www.cnblogs.com/insus/tag/HtmlTextWriter
在應用程序下,創建一個新目錄AspNets目錄,並新建一個aspx和一個ascx,Insus.NET會下面的演示中,分別呈現它們。簡簡單單。
WebForm1.aspx,由於只做簡單演示,因此Insus.NET只拉了一個Literal控件:
WebForm1.aspx.cs,在Page_Load事件中,給Literal控件賦值:
而用戶控件跟上面的aspx網頁一樣,WebUserControl1.ascx:
WebUserControl1.ascx.cs:
下面,我們回到ASP.NET MVC的開發流程,創建一個控制器Controller,先來演示Render一個aspx網頁:
在Views\Exercise2\創建一個視圖:
運行之后,看到的效果:
接下來,我們再來看看用戶控件的演示,在控制器中,添加另外一個Action:
創建視圖:
瀏覽結果:
學以致用,觸類旁通。