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[];
- 将资料表绑定到数据显示控件
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>
ASP.NET 学习笔记的更多相关文章
- Asp.Net 学习笔记(IIS不同版本和Asp.Net)
主要目的是在网上记录一下学习笔记,如有不对,请指出 谢谢!! iis5.x: 存在问题,inet info收到动态请求后,aspnt_isapi.dll会被加载到inetinfo.exe(挂载w3sv ...
- ASP.NET 学习笔记(一)ASP.NET 概览
ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面).MVC(Mode ...
- <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
MVC 3 数据验证 Model Validation 详解 再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...
- ASP.NET学习笔记--自己写的Login.aspx
以前有大学有学过,但是没学好,现在准备完全自己动手做一个网站,学习一下ASP.NET 做一个登录页面,首先要有创建一个新的网站,添加Login.aspx,然后做出自己想要的DIV和CSS布局, 之后创 ...
- ASP.NET学习笔记(5)——原生Ajax基本操作
说明(2017-11-4 15:32:49): 1. 回北京后又快一个月了,上次在家写的下回预告,到底是没把加水印写完,而且这次也不想写.. 2. 上次许的愿,十月份看完asp.net,已经泡汤了,翻 ...
- ASP.NET学习笔记(3)——用户增删改查(三层)
说明(2017-10-6 11:21:58): 1. 十一放假在家也没写几行代码,本来还想着利用假期把asp.net看完,结果天天喝酒睡觉,回去的票也没买到,惨.. 2. 断断续续的把用户信息的页面写 ...
- ASP.NET学习笔记1—— MVC
MVC项目文件夹说明 1.App_Data:用来保存数据文件 2.App_Start:包含ASP.NET-MVC系统启动的相关类文件 3.Controllers:存放整个项目"控制器&quo ...
- ASP.NET学习笔记——ASP.NET应用程序
0 剖析ASP.NET应用程序 用户运行ASP.NET应用程序,不是直接运行,而是使用浏览器(比如IE)通过HTTP请求一个特定的URL(如http://www.mysite.com/mypage.a ...
- <原>ASP.NET 学习笔记之应养成的良好习惯
写ASP.NET时应有的良好习惯(不定时增加): 1.view的名称一定要与对应的actionMethod的名称相同:从原理上看,客户端通过url(一般形式为http://xxx/controller ...
随机推荐
- linux 多线程信号处理总结
linux 多线程信号总结(一) 1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知 ...
- MyBatis——优化MyBatis配置文件中的配置
原文:http://www.cnblogs.com/xdp-gacl/p/4264301.html 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写 ...
- 在Maven中设置Nexus私有服务为中央工厂(repository)
原文:http://blog.csdn.net/mexican_jacky/article/details/50275695 nexus中的仓库列表 第一种方式: <repositories&g ...
- OpenGL的glPushMatrix和glPopMatrix矩阵栈顶操作函数详解
OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的.opengl中的变换一般包括视图变换.模型变换.投影变换等,在每次变换后,opengl将会呈 ...
- 【bzoj1029】道路抢修
[bzoj1029]建筑抢修 传送门 http://www.lydsy.com/JudgeOnline/problem.php?id=1029 分析 http://blog.csdn.net/popo ...
- Mybatis那一大堆事儿--1
<select id="listAmPerfTime" resultType="Date"> SELECT pam.perf_time AS per ...
- 资源 之 4.2 内置Resource实现(拾)
4.2 内置Resource实现 4.2.1 ByteArrayResource ByteArrayResource代表byte[]数组资源,对于"getInputStream" ...
- 20145218 《Java程序设计》第02次实验报告
北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.12 实验名称:Java面向对象程序设计 一.实验内容 初步掌握单元测试和T ...
- ubuntu修改更新源为163
安装ubuntu后为了使下载及更新软件包更快,需要将自带的源更换为国内的源.以下以163为例: 1.首先备份下原始自带源: sudo cp sources.list /etc/apt/sources. ...
- Python--关于dict
慕课网<Python 入门>学习笔记 1.dict 特性 dict用花括号{}表示,然后按照 key: value, 写出来即可.最后一个 key: value 的逗号可以省略. ①.di ...