PC6下载站

分类分类

ASP+学习笔记(三)

关注+2004-11-07作者:蓝点

8).数据访问的定制

    除了DataGrid之外,还有DataList和Repeater,可以更加灵活使用,不过你需要提供模板

用控件templates

    他们也有属性DataSource,可以赋予一个ICollection对象,ItemTemplate控件指定每一个记录

显示的样子,例:

    



        

            <%#>

        

    



    其中:Container表示控件之外的第一个含System.Web.UI.INamingContainer的控件,本例中

是一个System.Web.UI.WebControls,RepeaterItem,包含了一个DataItem的属性。

    另外,还可以使用HeaderTemplate和FooterTemplate。

    DataList有更强的控制能力,比如他的RepeaterCoumns属性可指定一行重复几次,RepeatDirection

指定方向。

    插入LinkButton控件可以引起select事件,DataList中可设OnSelectedIndexChanged属性指定事件Handler.

    例:

    



        

            <%#databinder.eval(container.dataitem."title")%>

        

        ......

        

    

    

    注意,可能有多个事件,比如Edit/Update/Cancel,所以可以用一个统一的OnItemCommand来处理,

凭Command判断到底是什么事件。例:

    void dl_select(Object src,DataListCommandEventArgs E){

        String command=((LinkButton)E.CommandSource).Text;

        switch(command)

        {case "discuss":.....break;

        case "ratings":......break;

        }

    }

    

        View ratings

    

    更妙的是,DataList还可以支持Edit和Select模板!!

    例:

    void MyDataList_Edit(Object sender,DataListCommandEventArgs E){

        MydataList.EditItemIndex = (int)E.Item,ItemIndex;

        //设定谁被选中进行编辑

        ......//重新帮定

        }

    void MyDataList_Update(Object sender,DataListCommandEventArgs E){

        String price = ((HtmlInputText)E.Item.FindControl("edit_price")).Value;

        ......

        MyDataList.EditItemIndex=-1;

        }

        ......

    

        ......

        Price:

        .

        .

        .

    这可以很方便地用在系统后台维护上。

    问题,上例中模板中的控件刚好只有一个,所以FindControls起作用了,但如果有多个呢?

    可以通过DataList的Items集合来遍历,如:

    for(int i=0;i<MyDataList.Items.count;i++)

        String isChecked = ((CheckBox)MyDataList.Items[i].FindControls("save")).checked.ToString();

        

    

        

    

    

    

9).商业控件

   。应用的bin目录

   在asp中的组件需要用regsvr32注册,不方便远程管理,ASP+中只需要放到应用的/bin目录下即可。

   <%import namespace="helloworld">引入名称空间,config文件来指定使用哪些控件,例:

   

       

           

               

               

               

               

           

       

   

   

   其中,前三个是全局的,最后一个是管bin目录下的。

   

10).写控件

    略。

    注意需要从Controls派生(System.Web.UI.Controls)

    

11).WebForms控件参考

    两大类,

    一是System.Web.UI.HtmlControls,以Html打头,多为Web页面上显示的。

    二是System.Web.UI.WebControls,附加的,如DataGrid等。

    具体略。

    

12).WebForms表达式参考

    <%%>代码块,<%=%>也支持的。

    


服务器控件用:

Html服务器控件用:

数据帮定:<%# %>

对象:,如:



服务器端注释:<%--  comment --%>

服务器端包含:<--#include file="..." -->




" _ue_custom_node_="true">

展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消