用NFinal框架開發的項目類似于MVC的那種開發方式,有Controller層、Model層、View層,還包括表現層Web層,在NFinal開發的項目中真正執行的代碼也就是Web層中的代碼,Web中的代碼是根據Controller與View模板中的代碼生成的執行代碼,我們只需要在Controller中寫好邏輯,在View中設計好頁面然后運行WebComplier.aspx即可生成整個Web文件夾,然后只需要運行Web中相應的HTML頁面即可。那么首先來看下控制器相關的東西。
控制器的定義
1.控制器必須寫在Controllers目錄下.
2.命名空間采用默認的命名空間,類名必須以Controller結尾,且必須繼承自Controller基類.
3.其函數返回值類型為void,修飾符為public.
例:
1、在Controllers下新建SampleController.cs

 1  using System.Collections.Generic; 2         using System.Web; 3         //由于項目名和模塊名不同,命名空間也會不同,復制該代碼也是無法運行的. 4         //必須手動添加該類,或是修改為正確的命名空間. 5         namespace WebMvc.App.Controllers 6         { 7             public class SampleController:Controller 8             { 9                 public void Show()10                 {11                     Write("Hello World.");12                 }13             }14         }Controller Code2、右鍵點擊WebCompiler.aspx選擇在瀏覽器中查看
生成開始
生成結束
3、刷新項目文件夾會發現在Web層的Default文件夾下會出現SampleController文件夾.右鍵點擊該文件夾選擇包括在項目中,可以看到文件夾下有Show.cs與Show.html兩個文件.
其中Show.cs的代碼如下:

 1   using System; 2         using System.Collections.Generic; 3         using System.Web; 4  5         namespace WebMvc.App.Web.Default.SampleController 6         { 7             public class ShowAction  : Controller 8             { 9                 public ShowAction(System.IO.TextWriter tw):base(tw){}10                 public ShowAction(string fileName) : base(fileName) {}11                 public void Show()12                 {13                     Write("Hello World.");14                 }15             }16         }Show.cs CodeShow.html中的代碼如下:

1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 5 <title</title> 6 </head> 7 <body> 8 <script> 9 window.location.href = "/App/SampleController/Show.htm";10 </script>11 </body>12 </html>View Code
Show中的代碼只是跳轉并執行SampleController下的Show()方法.
4、右鍵點擊并選擇在瀏覽器中查看.可以看到瀏覽器輸出Hello World.
新聞熱點
疑難解答