当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP+学习笔记(二)

ASP
ubb代码的简单实现
在VS.NET中编写Web应用程序(一)
在VS.NET中编写Web应用程序(二)
在VS.NET中编写Web应用程序(三)
ASP.NET编程实例ABC(1)
ASP.NET编程实例ABC(2)
ASP.NET编程实例ABC(3)
亲密接触ASP.Net(8)
亲密接触ASP.Net(9)
ASP.NET重用代码技术 - 代码绑定技术
ASP.NET重用代码技术 - 用户控件技术
在ASP.NET中使用.NET组件
用XSL.ASP编辑XML文档(1)
用XSL.ASP编辑XML文档(2)
亲密接触ASP.Net(10)
亲密接触ASP.Net(11)
亲密接触ASP.Net(12)
亲密接触ASP.Net(13)
亲密接触ASP.Net(14)
亲密接触ASP.Net(15)

ASP+学习笔记(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 36 ::
收藏到网摘: n/a

  5).Pagelet控件
    自己做控件最简单的方法就是Pagelet控件,后缀为.aspc,用Register指令包含到WebForm中:
    <%@ Register TagPrefix="Acme" TagName="Message" Src="pagelet1.aspc" %>
    TagPrefix是Pagelet的名称空间定义,TagName是给Pagelet取的名字。Src属性是虚拟目录。
    Pagelet的使用:
    <Acme:Message runat="Server"/>
    。暴露Pagelet的方法,像一个类一样定义属性,例:
    <script language="c#" runat="server">
    public String Address{
        get{
            return TxtAddress.Value;
        }
        set{
            TxtAddress.Value=value;
        }
    }
    </script>
    <input id="TxtAddress" runat="server">
    。封装事件
    略
    可以看出,Pagelet可以取代include文件的作用。
    。编程创建Pagelet对象
    可以用程序生成Pagelet控件的实例,如:
    Control cl=LoadControl("pagelet2.aspc");
    ((Pagelet2_aspc)cl).Category="business";
    Page.Controls.Add(cl);
    注意,因为LoadControl函数返回一个System.Web.UI.Control对象,因此需要造型。Pagelet
的类型为文件名,点号换成下划线。

6).数据帮定控件
    asp+中,不仅可以帮定到数据库,还可以帮定到简单的属性集合,甚至方法调用的结果,如:
    CustomerID: <%# custID %>
    <asp:ListBox id="List1" datasource='<%# myArray %>' runat="server">
    <%# (Customer.FirstName + Customer.LastName)%>
    <%# GetBalance(CustID) %>
    看起来跟asp中的<%=%>一样,但是ASP是用Response.Write来替换的,而ASP+则是在DataBind()
方法调用后才帮定的。数据帮定控件和Page对象都有DataBind()方法。
    注意,asp+是强类型的,所以:
        <%# count.ToString() %>才对。
    。DataBinder.Eval()
    一个静态方法,由ASP+支持,允许后帮定的数据帮定表达式,而且还可选地转化为串,可以
用于模板。如不用Eval,则像:
    <%# String.Format("{0:c}",((DataRowView)Container.DataItem)["SomeInteger"]) %>
    可以用Eval:
    <%# DataBinder.Eval(Container.DataItem,"someinteger","{0:c}") %>
    
7).服务器方数据访问
    。连接、命令和数据集(DataSets)
    NGWS提供了一系列受管数据访问API,引入名称空间:
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SQL" %>
    a).生成SQLConnection
    b).构造SQLDatasetCommand
    c).FillDataSet
    如果是插入等操作,则用SQLCommand替换SQLDataSetCommand.
    记住:始终在用完连接后关闭连接!否则要等到页面被释放时才会被垃圾回收机制释放资源。
    。帮定数据到DataGrid,例:
        ....
        DataSet ds = new DataSet();
        myCommand.FillDa