zoukankan      html  css  js  c++  java
  • ASP.NET 学习笔记

    1、ASP.NET 服务器控件是可被服务器理解的标签

    有三种类型的服务器控件(所有服务器控件必须出现在 <form> 标签内,同时 <form> 标签必须包含 runat="server" 属性。):

    • HTML 服务器控件 - 传统的 HTML 标签(向 HTML 元素添加 runat="server" 属性。如:<a id="link1" runat="server">Test!</a>) 
    • Web 服务器控件 - 新的 ASP.NET 标签 (没有必要映射任何已存在的 HTML 元素,它们代表更复杂的元素。如:<asp:Button id="button1" Text="Click me!" runat="server" OnClick="submit"/>
    • Validation 服务器控件 - 用于输入验证

    2、IsPostBack

    判断页面是首次加载的,还是数据回发(有get或者post请求过的)后的页面。一些按钮提交事件会触发页面重载,此时对于一些数据绑定和初始化的动作会被反复执行,需要使用此属性来屏蔽此种情况!

    一个页面第一次显示的时候IsPostBack = false,然后在这个页面上点击按钮或其他东西提交的时候,IsPostBack = true。

    常用:if(!IsPostBack) InitialData();

    3、ViewState

    当 Classic ASP 中的表单被提交时,所有的表单值都会被清空,当提交了一张带有大量信息的表单,而服务器返回了一个错误。不得不返回表单,然后更正其中的信息。点击后退按钮,所有的表单值都被清空了,将不得不重新开始所有的一切。

    当ASP .NET 中的表单被提交时,表单会随所有表单值一同重新出现,因为ViewState 会在页面被提交到服务器时指示其状态,ASP .NET 维持了 ViewState。维持 ViewState 是 ASP.NET Web 表单的默认设置。如果不希望维持 ViewState,需在 .aspx 页面的顶部包含指令: <%@ Page EnableViewState="false" %>,或为任意控件添加属性:EnableViewState="false"。

    4、常用控件

    • Label 控件用于在页面上显示文本。该文本是可编程的。
    • TextBox 控件用于创建用户可输入文本的文本框。
    • Button 控件用于显示按钮。
    • Image 控件用于显示图像。
    • Repeater 控件用于显示重复的项目列表,这些项目被限制在该控件。Repeater 控件可被绑定到数据库表、XML 文件或者其他项目列表。

    5、数据绑定

    • ADO.NET读取数据库资料到资料表
    <%@Import Namespace="System.Data"%>
    <%@Import Namespace="System.Data.SqlClient"%>
    
    string strSql = @"select * from tb_test";
    string strConn = "server=localhost;database=dbtest;user=sa;pwd=123456";
    SqlConnection myConn = new SqlConnection(strConn);
    SqlDataAdapter myDataAdapter = new SqlDataAdapter(strSql,myConn);
    DataSet ds = new DataSet();
    myDataAdapter.Fill(ds);
    DataTable dtData = ds.Tables[0];
    • 将资料表绑定到数据显示控件
    Repeater1.DataSource=dtData;
    Repeater1.DataBind();
    • 设定数据显示样式(<HeaderTemplate> 元素中的内容在输出中仅出现一次,而 <ItemTemplate> 元素的内容会对应 DataSet 中的 "record" 重复出现,最后,<FooterTemplate> 的内容在输出中仅出现一次)
    <html>
    <body>
    
    <form runat="server">
        <asp:Repeater id="cdcatalog" runat="server">
        
        <HeaderTemplate>
            <table border="1" width="100%">
                <tr>
                    <th>Title</th>
                    <th>Artist</th>
                    <th>Country</th>
                    <th>Company</th>
                    <th>Price</th>
                    <th>Year</th>
                </tr>
        </HeaderTemplate>
        
        <ItemTemplate>
            <tr>
                <td><%#Container.DataItem("title")%></td>
                <td><%#Container.DataItem("artist")%></td>
                <td><%#Container.DataItem("country")%></td>
                <td><%#Container.DataItem("company")%></td>
                <td><%#Container.DataItem("price")%></td>
                <td><%#Container.DataItem("year")%></td>
            </tr>
        </ItemTemplate>
        
        <FooterTemplate>
            </table>
        </FooterTemplate>
        
        </asp:Repeater>
    </form>
    
    </body>
    </html>
     

    6、母版页

    Master Page 使您有能力为 web 应用程序中的所有页面(或页面组)创建一致的外观和行为,为其他页面提供了模版,带有共享的布局和功能。Master Page 为内容定义了可被内容页面覆盖的占位符。而输出结果就是 Master Page 和内容页面的组合。

    • master1.master
    <%@ Master %>
    
    <html>
    <body>
    <h1>Standard Header For All Pages</h1>
    
    <asp:ContentPlaceHolder id="CPH1" runat="server">
    </asp:ContentPlaceHolder>
    
    </body>
    </html>
    • page1.aspx
    <%@ Page MasterPageFile="master1.master" %>
    
    <asp:Content ContentPlaceHolderId="CPH1" runat="server">
    
    <h2>Individual Content</h2>
    <p>Paragrap 1</p>
    <p>Paragrap 2</p>
    
    </asp:Content>
  • 相关阅读:
    JSP版LCX:端口转发神器 KPortTran
    使用 JavaScript 实现对 PDF 的全文索引
    伙伴分配器的一个极简实现
    java创建线程的三种方式及其对照
    【版本号公布】Jeecg-P3 1.0 公布,J2EE微服务框架(插件开发)
    linux c 获取当前执行进程总数
    C++入门学习——模板
    GSON学习笔记之初识GSON
    Python学习笔记_Python对象
    怎样在OTN站点高速找到asm包并下载 (Oracle RAC)
  • 原文地址:https://www.cnblogs.com/ymtianyu/p/5038878.html
Copyright © 2011-2022 走看看