NFinal 控制器—URL

URL路由规则

规则:http://网址/模块名/控制器的相对路径的文件名/函数名.htm

例: http://localhost/App/IndexController/Index.htm
http://localhsot/App/Admin/IndexController/Index.htm

传参

http://网址/模块名/控制器的相对路径的文件名/函数名/参数名1/参数值1/.../参数名N/参数值N.htm

例: http://localhost/App/IndexController/Index/id/1.htm
http://localhost/App/ListController/Index/pageSize/5/pageIndex/1.htm  

获取URL参数

在控制器的方法中加入一些参数,例如user,然后输出. 

NFinal 控制器—URL
 1  using System;

 2  using System.Collections.Generic; 

 3 using System.Web;  

 4 namespace WebMvc.App.Controllers

 5  {    

 6      public class SampleController:Controller   

 7       {        

 8          public void Show(string user)      

 9           {           

10               Write(string.Format("Hello {0}.",user));   

11           }     

12         } 

13 }  
Controller Code

运行WebCompiler.aspx重新生成.
然后把Web/Default/SampleControler文件夹包括在项目中.
其中Show.cs代码如下  :

NFinal 控制器—URL
 1 using System.Collections.Generic; 

 2 using System.Web; 

 3  namespace WebMvc.App.Web.Default.SampleController

 4  {    

 5      public class ShowAction  : Controller   

 6       {    

 7          public ShowAction(System.IO.TextWriter tw):base(tw){}     public ShowAction(string fileName) : base(fileName) {}      

 8            public void Show(string user)      

 9            {            

10              Write(string.Format("Hello {0}.",user));       

11             }   

12         } 

13 }        
Show.cs Code

修改Show.html文件中的URL

URL为:http://localhost/App/SampleController/Show/user/Lucas.htm

其中Show.html中的代码如下: 

NFinal 控制器—URL
1 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>     <title<</title< </head> <body>     <script>         window.location.href = "/App/SampleController/Show/user/Lucas.htm";     </script> </body> </html> 
Show.html Code

用浏览器查看Show.html.则浏览器输出Hello Lucas.

参数说明

NFinal会自动帮你转换好你所需要的参数类型,但必须保证参数名前后保持一致,
函数内的参数不仅可以获取URL中的参数,同样也可以获取POST中的参数.
但NFinal不支持获取?id=1这样的参数.
参数类型可以为int,string,float等基本类型.

当然Controller内置的_get变量也可以像传统的ASPX那像手动获取并转换参数.
比如string user=_get["user"];  

你可能感兴趣的:(final)