您的位置:首页技术开发ASP教程 → ASP+学习笔记(三)

ASP+学习笔记(三)

时间:2004/11/7 4:13:00来源:本站整理作者:蓝点我要评论(0)

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">

相关阅读 Win10预览版怎么升级 Win10预览版升级方法厂商不再预装Win7或8.1系统,驱动人生帮您快速升级Mac移动硬盘安装win8 Mac将win装在移动硬盘使用教程windows10xboxone串流简单教程Windows Hello怎么用 Windows Hello使用设置教程win10怎么关闭自动更新 win10如何关闭自动更新Mac系统如何远程桌面到Windows系统windows update更新有用吗 windows update下载的文件在哪

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 《龙珠:超宇宙》 战斗E3 2014:瘆人僵尸《消 asp代码实现access数据导出到excel文件如何使用FSO读取Js文件内容并可以编辑修改对初学者有用的一些asp函数集学习ASP编程必会的代码

人气排行 asp代码实现access数据导出到excel文件asp不需要任何配置的伪静态实现如何使用FSO读取Js文件内容并可以编辑修改asp去除html标记和空格的代码Asp全选删除代码教大家网页伪静态知识及其2种实现方法Microsoft SQL Server 7.0安装问题(一)ASP.NET中的Code Behind技术4