第七讲 常用的Web服务器控件(一)

来源:互联网 发布:淘宝店天天特价 编辑:程序博客网 时间:2024/06/05 15:09
主要内容
    ASP.NET控件
        1. HTML控件:它们是由HTML厂商定义的一些控件,它与ASP.NET技术没任何关系。
            
            双击后关联创建的事件是JS脚本代码,如按钮会创建一个onclick事件属性。onclick

            喜:HTML控件也可以转换成服务器端控件
            runat="server" 加上后叫做HTML服务器控件
            如:
            <input id="Button2" type="button" value="button" onserverclick="HTMLControl_Click" runat="server" />

            但:双击还是不能直接与后台C#代码交互,
            使用方法:
                1. 手动在后台创建事件方法,参数同其它自动生成的控件
                2. 如按钮则手动添加onserverclick事件属性,其值就是,第一步所创建的事件方法。
                如:onserverclick="HTMLControl_Click"
            
        2. WEB控件(除HTML控件外):是由ASP.NET提供。意味着它可以与后台C#语言进行通讯。此类控件提供丰富的功能,可执行复杂的页面请求。

        3. WEB服务器控件的优点:
            1. 跨浏览器兼容性:程序员不用考虑浏览器版本
                  
            2. 事件驱动编程模型:与WinForms编程一样简单,双击即可关联创建事件方法。


        

    1. 熟悉HTML控件与WEB服务器控件的区别
        1.原代码上的区别是:
        如:
            <input id="button1" type="button"/> 无法与后台C#进行交互
            <asp:input id="button2" type="button" runat="server"/>

         <![CDATA[]]> 这个标签是PHP中的原义文本输出标签

         2. 事件触发机制
            1. ASP.NET控件双击后可以关联创建后台C#代码,跟Winform一样
            2. HTML控件双击后是关联的JS脚本创建的事件代码
         
         3. HTML控件可以转换为ASP.NET控件,只需要在标签属性中添加一个属性runat="server" ,同时事件不也使用双击关联创建的方式,且,事件名称也有所改变,不再是onclick,而是辨名知意的onserverclick。
         应该注意的是:事件是手动在后台创建,并不是像ASP.NET控件一样的双击关联创建的方式。

         4. 同时需要说明的是,既然HTML控件可以使用ASP.NET专有后台代码技术,那么,ASP.NET控件也同样可以使用HTML中JS代码创建的事件方法,只是事件名称改成见名知意的onClientClick.

         事件代码如:
         
            <form id="form1" runat="server">
            <div>
            
                <asp:Button ID="Button1" runat="server" onclick="Button1_Click"
                    style="height: 21px" Text="Button" OnClientClick="Test('服务器控件'
                    );" />
                这个是WEB服务器控件<br />

                <input id="Button2" type="button" value="button" onserverclick="HTMLControl_Click" runat="server" onclick="Test('HTML控件');" />这个是HTML客户端控件</div>
            </form>

        由事件代码可知,ASP.NET控件和HTML控件都有一个默认的onclick事件,如果HTML控件要调用ASP.NET控件的代码,需要使用onserverclick事件,同时,如果ASP.NET控件要调用HTML控件的代码,需要使用onClientClick事件。
        它们是交叉的,onclick是指向那里的事件呢,看标签的开头标记,HTML标签是以<input....>开始,而ASP.NET标签是以<asp:input....>开始的


        还有要注意的是,如果一个标签中有多个事件,那么执行的顺序是先执行客户端脚本,再执行服务器事件。如果都是同类脚本则按顺序执行。

    2. 熟练使用常用的WEB控件
0 0