基于WebForm实现Front Controller MVC模式

       这段时间利用MonoRail进行WEB应用开发,但在编写VM时缺少了VS.NET IDE提供的特性感觉很不方便;于是就基于传统WebForm Page Controllers模块下实现Front Controller模式的开发框。

 

实现方法就是通过基础的Page Controller进行令命的转发,并执行具体的方法。

传统的Page ControllerWebForm设置:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MVC_Test.WebForm1" %>

 

为了适应Front模式,Inherits统一指向一个命令处理的PageContrller:

<%@ Page Language="C#" AutoEventWireup="true"  Inherits="HFSoft.MVC.FormBase" %>

 

Page相关的Action Method可以通过CustomAttribute的方式进行一个映射:

    public class Roots:HFSoft.MVC.ControllerAdapter

    {

        [HFSoft.MVC.FormMapper("~/default.aspx")]

        public void Default()

        {

          

           

        }

    }

 

由于Action MethodWebForm存在隔离因此很多的特性都不能使用(如服务器控件,视图状态等);但UserControl作一下改变还是能够很好地应用在这种模式下。

 

 

为数据访问更灵活可以实现一些简单对象数据绑定功能,如:

Codes.OrderSearch search = BindObject<Codes.OrderSearch>("");

由于传统的HTML元素的Name设置不会因服务器控件的生成而改变,因此可以通过命名约束的方式方便实现数据绑定功能。

 

使用JQuery和框架实现一个简单的无刷新数据查询应用:


下载事例代码

posted on 2007-01-21 14:41  henry  阅读(858)  评论(2编辑  收藏  举报

导航