MSPlus WebControls For ASP.NET. (服务器端控件)

Upgrade Develop Efficiency,Surprise For U! - Mack.Z

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  22 随笔 :: 42 文章 :: 941 评论 :: 14 引用

2004年8月13日 #



这是ToolBar控件,是不是和Vs.Net的工具条很像啊?!,但他是B/S结构的是MSPLUS控件集中的一个。

如下:你可以直接写在标签里,来定义TOOLBAR和他的子项
                <cc1:MenuItem Label="编辑项目" ID="X7">
                    
<cc1:MenuItem Label="删除" ID="X10" LeftIcon="icon_delete" LeftIconOver="icon_delete_over"></cc1:MenuItem>
                    
<cc1:MenuItem Image="gray"></cc1:MenuItem>
                    
<cc1:MenuItem Label="显示成员 " ID="X11" LeftIcon="icon_listMembers" LeftIconOver="icon_listMembers_over"
                        Disable
="true">
                        
<cc1:MenuItem Label="新建" ID="X12" LeftIcon="icon_new" LeftIconOver="icon_new_over"></cc1:MenuItem>
                        
<cc1:MenuItem Label="新建二" ID="X13" LeftIcon="icon_new" LeftIconOver="icon_new_over"></cc1:MenuItem>
                    
</cc1:MenuItem>
                
</cc1:MenuItem>

同时你也可你直接用DataTable或Xml进行绑定。
 
        protected MSPlus.Web.UI.WebControls.MSMenu MSMenu1;

        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面]
            MSMenu1.DataSource = Server.MapPath("NewMenuData.xml");
            MSMenu1.DataBind();

        }

<?xml version="1.0" encoding="utf-8"?>
<MSPlus>
    
<MenuConfig></MenuConfig>
    
<MenuData>
        
<MenuItem Label="File" ID="X1">
            
<MenuItem Label="New" ID="X2" LeftIcon="icon_new.gif" LeftIconOver="icon_new_over.gif"/>
            
<MenuItem Label="Open" LeftIcon="icon_open.gif" LeftIconOver="icon_open_over.gif">
                
<MenuItem Label="From Disk" ID="X3" LeftIcon="icon_new.gif" LeftIconOver="icon_new_over.gif"/>
            
</MenuItem>
        
</MenuItem>
        
<MenuItem Label="Edit" ID="X4">
            
<MenuItem Label="File" ID="X1"/>
            
<MenuItem Label="File" ID="X1"/>
            
<MenuItem Image="gray.gif"/>
            
<MenuItem Label="File" ID="X1"/>
            
<MenuItem Label="File" ID="X1">
            
<MenuItem Label="New" ID="X2" LeftIcon="icon_new.gif" LeftIconOver="icon_new_over.gif"/>
            
<MenuItem Label="Open" LeftIcon="icon_open.gif" LeftIconOver="icon_open_over.gif">
                
<MenuItem Label="From Disk" ID="X3" LeftIcon="icon_new.gif" LeftIconOver="icon_new_over.gif">
                    
<MenuItem Label="File" ID="X1">
            
<MenuItem Label="New" ID="X2" LeftIcon="icon_new.gif" LeftIconOver="icon_new_over.gif"/>
            
<MenuItem Label="Open" LeftIcon="icon_open.gif" LeftIconOver="icon_open_over.gif">
                
<MenuItem Label="From Disk" ID="X3" LeftIcon="icon_new.gif" LeftIconOver="icon_new_over.gif"/>
            
</MenuItem>
        
</MenuItem>
                
</MenuItem>
            
</MenuItem>
        
</MenuItem>
        
</MenuItem>
    
</MenuData>
</MSPlus>

他可以支持无限层。支持子控件的属性和状态的保存。你可以在运行时去动态的增加和删除子项或修改子项的属性。

子项的事件通过冒泡的方法一层层的像上传递,你只需增加一个Click事件就行!
        private void MSMenu1_MenuItemClick(object sender, MSPlus.Web.UI.WebControls.MenuItemClickEventArgs e)
        
{
            Response.Write(
"Click Item Label:" + e.EventItem.Label);
        }

今天正好是周未下班后去外面逛了逛,买了件白衬衫(我长的比较黑,但穿白色的到也挺神气的,呵呵)。逛的时间太长了,有点累了,过会还要看奥运的开幕式,实在没有体力再写下去了,关于ToolBar的更详细介绍我后要将继续写下去。

今天就先大概的介绍一个DataList和ToolBar,MSPlus中的其它控件我将在今后陆续的介绍给大家,希望大家能支持我!
posted @ 2004-08-13 22:44 Mack.Z 阅读(2354) 评论(1) 编辑



真是很出乎我的意料,我下午才开通的Blogs,晚上回家后就看到这么多留言,真是有点激动.
为了不让大家失意,我先把控件的截图放上来让大家先看看。因为安装包的制作和代码的保护可能还需要一些时间。
在这里我要声明一点,我是个人开发这套WebControl的,没有任何的商业目地。我的目标是希望改进目前的B/S软件的开发模式,减化软件开发的难度。

对于这套DataList控件,用户只需要绑定数据源就能使用。
Example:

            <cc1:datalist id="DL1" Width="550px" Runat="Server" AllowSorting="True" PageSize="10" 
                  AllowPaging
="True" AllowCustomPaging="false" PrimaryFieldName="ColA">
                
<cc1:DataListColumn ColumnType="CheckBox"></cc1:DataListColumn>
                
<cc1:DataListColumn HeaderText="111" DataField="ColA" SortField="ColA" Width="150">
                   </
cc1:DataListColumn>
                
<cc1:DataListColumn HeaderText="222" DataField="ColB" Width="50"></cc1:DataListColumn>
                
<cc1:DataListColumn HeaderText="333" DataField="ColC" SortField="ColC" Width="300">
                  </
cc1:DataListColumn>
            
</cc1:datalist>

protected MSPlus.Web.UI.WebControls.DataList DL1;
  
private void Page_Load(object sender, System.EventArgs e)
  
{
   DataTable Dt 
= GetBindData();
   DL1.DataSource 
= Dt;
   DL1.DataBind();
  }


用户根本不需要去关心分页、排序、选中项的处理等。因为这些事件和功能都已整合在控件内部。你要作的只是绑定数据源!

MSPlus DataList控件,不是去继承微软本身体的DataGrid来开发的,因为去继承DataGrid然后只是去改Render的呈现来实现,这样的WebControl没有任何意义。MSPlus DataList直接从WebControl继承,内部Column和Item子控件的容器分别从CollectionBase类扩展开始的。所有性能和扩展性上将有很多好处。

本控件的Demo我目前正在寻找空间,我会尽快放上来的。同时也希望大家帮我一起测试,多提供宝贵意见。
我也非常希望和.NET开发的同行位一起交流一起进步!

posted @ 2004-08-13 22:17 Mack.Z 阅读(3333) 评论(11) 编辑

我是从2001起开始研发.NET控件,MSPLUS这套是2003年2月份开始开发的,在2003年底这套控件基本以开发的差不多了,因为一直找到不好的发布网站在加上那时正忙着换工作,所以一直把这事给耽搁了。

目前我也正好相对较空,所以打算将这套控件发布出来,对于这套控件能顺利开发完成,在这里我要感谢以下几位。

孙慧洁:感谢她一直鼓励我将这套控件开发完成。

阿泰:我的好友,一起共事多年的同事,非常好的一个人,以前一起工作时经常传授我开发经验。这次他又帮了我一个大忙,把自己花费申请来的.NET空间给我使用。

史联:上海某科技公司的总经理,再和他一起工作的两年时间中从他身上学到好很多宝贵的开发经验和习惯。

Rick:我对影响深远的一个美国老头。

Erik.Arvidsson:JavaScript大师级人物,因为MSPLUS中应用到了很多客户端JS的程序,每当遇到问题时都是他帮助我一起解决。

 
posted @ 2004-08-13 15:17 Mack.Z 阅读(3099) 评论(14) 编辑