第一章
1.搭建Asp.net开发环境
1).net FrameWork(VS)
2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5) C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i [重新注册]
2.Asp.net的优势
1)丰富的控件库 2)代码后置 3)方便调试 4)编译后执行 5)与浏览器无关
第二章
1.Asp.net运行机制
Asp.net引擎(Aspnet_isapi.dll:管道模型)
一.处理请求:httpModule(过滤请求)→httpHandle(处理请求)
二:设置httpHandlers
Public bool IsReusable{get{return ture;}}(设置httpHandlers)
三.在Web.config中添加httpHandlers
<httpHandlers><add path="" type="" verb=""><httpHandlers/>
2.Asp.net系统对象
1)Page
2)Request[接受请求中的数据]
接受表单数据:Request.From[""] 接受问号传值:Request.QueryString[""]
3)Response[输出]
一:跳转 Response.Rediect("") 二:输出:Response.Write("") 三:提示:Alert("") 四:确认:return confirm("")
4)Server[封装服务器常用方法属性]
一:Server.MapPath("") 二:Server.HtmlEncode("")编码
3.数据传递
1)页内传递
一.用This.获取控件得到属性值 二.隐藏控件
2)页面传递
一.问号传值(get传值,Request.QueryString[""],大小限制255字节)
二.表单传值(Post传值,Request.From[""])
跨页提交(PostBackUrl="",PreviousPage.FindControl("控件类型") as 控件类型)
三.状态保持方式:Session,Cookie等等
4.状态保持方式
1)Session(保存在服务端,操作方便,容易丢失)
一:保存Session:Session[""] = 对象或者字段
二:获取Session:对象(字段)= Session[""] as 对象类型
2)Cookie(保存在客服端,只能存文本,自定义有效期,不安全)
一:创建Cookie:HttpCookie httpCookie = new HttpCookie() httpCookie.Values["名称"] = "";
二:设置有效期:httpCookie.Expires = DateTime.Now.Add();
三:添加Cookie:Response.Cookies.Add(httpCookie)
四:获取Cookie:Response.Cookie[""].Values["名称"] = 字段;
3)Application(保存在服务端,全局共享,保存网站配置数据)
锁定Application防止死锁
一:创建Global.asax
二:锁定Application:Application.Lock()
三:创建Application:Application["名称"] = ""
四:解锁Application:Application.Unlock()
4)ViewState(保存在服务端,页面内有效)
第三章(Asp.net控件)
母版页(统一布局)
一:创建母版页:MasterPage.master 二:公共内容控制:ContentPlaceHolder 三:添加子夜:创建页面时选择母版页
1.导航控件
1)SiteMapPath(层次导航)
创建SiteMap,控件自动获取SiteMapPath的数据
<siteMapNode url="" title="" description="" >
<siteMapNode url="" title="" description="" />
<siteMapNode/>
2)Menu(菜单)
一:用SiteMapPath或者XML绑定数据源 二:设置静态、动态的显示级数,和水平显示
3)TreeView(树形导航)
创建TreeView,用SiteMapPath或者XML绑定数据源,用XML需要指定绑定的值
2.数据绑定控件
1)DropDownList(下拉刘表)
一:数据源绑定,创建DropDownList,指定ID和Value
二:手动绑定
this.DropDownList.DataSource()
this.DropDownList.DataTextFiled = ""
this.DropDownList.DataValueFiles = ""
this.DropDownList.Bind()
三:给DropDownList添加一项
数据绑定
添加DataBound事件:this.DropDownList.Items.Insert(0,new ListItem("---请选择---","")
手动绑定
this.DropDownList.Items.Insert(0,new ListItem("---请选择---","")
四:级联
数据绑定时
给子DropDownList设置数据源,指定获取值的控件,并给默认值,在父控件里设置AuotPostBack
手动绑定,添加SelectIndexChanged
2)GridView(展示表数据)
一:数据绑定
SqlDataSource绑定,创建GridView,做编辑、删除需要在高级选项里打勾
对象绑定,创建GridView,编辑、删除需要自己添加自定义项
手动绑定:this.GridView.DateSource = 方法
数据源绑定:this.GridView.DateSourceID = this.数据源.ID
二:页面绑定数据,并格式化,添加方法,如果绑定前后有字符,需要{0}作为参数
<%#方法(Eval("对象.属性","{0:}")).ToString(),参数)%>
三:光棒效果
添加RowDataBound事件
e.Row.Attributes.Add("onmouseover","oldColor=this.style.backgroundColor;this.style.backgroundColor = '颜色'")
e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=oldColor")
四:数据源绑定不能自动绑定外键,需要手动绑定[获取当前下拉框Row的值]
在页面中添加SelectValue = '<%#Eval("对象.属性") %>'
更新时,添加RowUpdating事件
This.数据源.UpdateParameters["字段"].DefautValue =
(this.GridView.Rows[e.RowIndex].FindControl("控件") as 控件类型).SelectValue
五:设置GridView主键(DateKeyName = "主键值")
六:在GridView做命令提交时,需要在RowCommand事件中写代码
e.CommandName(""),需要在控件里设置CommandName = ""
e.CommandArgument = <%#Eval("对象.属性") %>
3)DetailView(展示详细信息)
4)DataList(可自定义模版)
一:数据绑定
手动绑定:this.DataList.DateSource = 方法
数据源绑定:this.DataList.DateSourceID = this.数据源.ID
二:模版
头模版、Item模版、脚模版、交替项模版、分隔符模版、选择模版、编辑模版
三:分页
PagedDataSource分页
1创建PagedDataSource对象
PagedDataSource pds = new PagedDataSource();
2打开分页开关
pds.AllowPaging = true;
3,设置页大小
pds.PageSize = 大小;
4设置当前页,注意CurrentPageIndex是索引,第一页为0
pds.CurrentPageIndex = pageIndex-1;
5设置数据源
pds.DataSource = 数据源
绑定分页控件
this.UcfarPager1.PageStyle = UcfarPagerControls.PagerStyle.前后缩略;
this.UcfarPager1.PagePara = "p";
this.UcfarPager1.PageSize = pds.PageSize;
this.UcfarPager1.RecordCount = pds.DataSourceCount;
存储过程分页
create proc Pager
@tableName varchar(20),
@orderBy varchar(20) ='id',
@whereStr varchar(100)='',
@pageIndex int=1,
@pageSize int=10
as
declare @sqlStr varchar(200)
declare @startRowIndex int , @endRowIndex int
set @startRowIndex = (@pageIndex-1)*@pageSize+1
set @endRowIndex = @pageIndex*@pageSize
if(@whereStr!='')
set @whereStr = ' where ' + @whereStr
set @sqlStr='select * from (select row_number() over(order by '
+ @orderBy
+ ') as rowindex, * from ' + @tableName+ @whereStr
+ ') as newTab where rowIndex between '
+ convert(varchar(4),@startRowIndex) + ' and '
+ convert(varchar(4),@endRowIndex)
print @sqlStr
exec(@sqlStr)
5)Repeater(精确布局)
一:数据绑定
手动绑定:this.Repeater.DateSource = 方法
数据源绑定:this.Repeater.DateSourceID = this.数据源.ID
二:模版
头模版、Item模版、脚模版、交替项模版、分隔符模版
3.验证控件[选择控制的控件] 验证中有两个提交控件时,需要给控件分组
1)非空验证 RequiredFieldValidator 填写错误信息
2)范围验证 RangeValidator 需要设置ControlToCompare[比较的控件] ValueToCompare [比较的值]
3)自定义验证 CustomValidator
后台验证事件 ServerValidate args.Value [验证的值] args.IsValid [验证结果]
前台验证 注册ClientValidtionFunction事件 Fun中需要两个参数(obj,e)
4)正则表达式验证 RegularExpressionValidator 填写错误信息和ValidatorExpression
5)错误信息汇总控件 ValidationSummary 有MessageBox和Summary两种显示模式
- Asp.Net初学小结 判断数组中是否有重复的数据
Asp.Net初学小结 第一章 1.搭建Asp.net开发环境 1).net FrameWork(VS) 2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5) ...
- C++智能指针初学小结
本篇随笔仅作为个人学习<C++ Primer>智能指针一节后的部分小结,抄书严重,伴随个人理解.主要介绍shared_ptr.make_shared.weak_ptr的用法和联系. C++ ...
- ASP.NET CSS 小结
1.ASP.NET 引用CSS 1.Site.master里面设置webopt <webopt:bundlereferencerunat="server"path=" ...
- 初识ASP.NET---点滴的积累---ASP.NET学习小结
差点儿相同十多天前学习完了北大青鸟的学习视频,没想到没几天的时间就看完了XML视频和牛腩的Javascript视频.学习完了也该总结总结.理理自己的思路.消化一下自己学习到的东西. 视频中的理论知识并 ...
- ASP.Net参数传递小结
同一页面.aspx与.aspx.cs之间参数传递 1. .aspx.cs接收.aspx的参数:由于.aspx和.aspx.cs为继承关系,所以.aspx.cs可以直接对.aspx中的ID进行值提取,具 ...
- OOP初学小结
最近刚刚开始学python的OOP,感觉不太适应.一些很简单的程序也卡了好半天才能调好- 其中的一个错误是:将两个不同的类的方法互相调用,结果走进死循环- 另外就是debug的时候,不要在那里空空地望 ...
- scss初学小结(转阮一峰老师SASS用法指南http://www.ruanyifeng.com/blog/2012/06/sass.html)
1.安装 SASS是Ruby语言写的,但是两者的语法没有关系.不懂Ruby,照样使用.只是必须先安装Ruby,然后再安装SASS. 假定你已经安装好了Ruby,接着在命令行输入下面的命令: gem i ...
- ArrayList 初学小结!
package good.com; import java.util.ArrayList;//导入 ArrayList 包 调用动态数组! public class ArrayListList { / ...
- jexus ASP.NET开发注意项1
Jexus@宇内(273766940) 9:09:02 linux上的文件名和文件路径是大小写敏感的. Jexus@宇内(273766940) 9:10:11 在win上,你文件名是 Login.as ...
随机推荐
- noip第16课资料
- 分享《机器学习实战基于Scikit-Learn和TensorFlow》中英文PDF源代码+《深度学习之TensorFlow入门原理与进阶实战》PDF+源代码
下载:https://pan.baidu.com/s/1qKaDd9PSUUGbBQNB3tkDzw <机器学习实战:基于Scikit-Learn和TensorFlow>高清中文版PDF+ ...
- Django Auth 专题
Django的标准库存放在 django.contrib 包中.每个子包都是一个独立的附加功能包. 这些子包一般是互相独立的,不过有些django.contrib子包需要依赖其他子包,其中django ...
- Beta阶段冲刺集合贴
第零篇准备博客:https://www.cnblogs.com/coolgirls/p/9066239.html 第一篇冲刺博客:https://www.cnblogs.com/coolgirls/p ...
- Vmware Vtop基本使用
俗话说:"最了解孩子的莫过于亲妈",算了编不下去了,简而言之就是我们想知道虚机的详情可以通过Vmware Vtop登录宿主机进行查看,直接上干货. 有这些信息我们可以从Vt ...
- 浅谈ESB中的DataRow、DataSet、DataBag 、DataBox
1 背景概述 笔者在学习公司产品AEAI ESB 的时候经常需要从数据库获取信息并将数据信息保存到一个结果变量中,为统计分析提供特定格式的数据以及跨数据库同步数据时通常会用到DataRow.DataS ...
- 2019-4-22 linux学习
linux 一.linux的目录结构 / 挂载目录:为所有目录的根目录 home 家目录: 用户的根目录 存放普通用户的文件 例如:创建一个jack用户,就会产生一个Jack ...
- 我来谈谈PHP和JAVA在web开发上的的区别
这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...
- cookie&session的Q&A故事[原理篇]
引语:cookie和session在网站开发中,起着无可厚非的重要作用,但是我们平时往往都只是通过某种语言作为介质,通过某些接口函数进行cookie和session的操作,而对其原理可能不了解或一知半 ...
- Zabbix--1
ZABBIX 与其他监控程序比较.