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>
原文地址:https://www.cnblogs.com/ymtianyu/p/5038878.html