第一章
 
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初学小结的更多相关文章

  1. Asp.Net初学小结 判断数组中是否有重复的数据

    Asp.Net初学小结   第一章   1.搭建Asp.net开发环境   1).net FrameWork(VS) 2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5)  ...

  2. C++智能指针初学小结

    本篇随笔仅作为个人学习<C++ Primer>智能指针一节后的部分小结,抄书严重,伴随个人理解.主要介绍shared_ptr.make_shared.weak_ptr的用法和联系. C++ ...

  3. ASP.NET CSS 小结

    1.ASP.NET 引用CSS 1.Site.master里面设置webopt <webopt:bundlereferencerunat="server"path=" ...

  4. 初识ASP.NET---点滴的积累---ASP.NET学习小结

    差点儿相同十多天前学习完了北大青鸟的学习视频,没想到没几天的时间就看完了XML视频和牛腩的Javascript视频.学习完了也该总结总结.理理自己的思路.消化一下自己学习到的东西. 视频中的理论知识并 ...

  5. ASP.Net参数传递小结

    同一页面.aspx与.aspx.cs之间参数传递 1. .aspx.cs接收.aspx的参数:由于.aspx和.aspx.cs为继承关系,所以.aspx.cs可以直接对.aspx中的ID进行值提取,具 ...

  6. OOP初学小结

    最近刚刚开始学python的OOP,感觉不太适应.一些很简单的程序也卡了好半天才能调好- 其中的一个错误是:将两个不同的类的方法互相调用,结果走进死循环- 另外就是debug的时候,不要在那里空空地望 ...

  7. scss初学小结(转阮一峰老师SASS用法指南http://www.ruanyifeng.com/blog/2012/06/sass.html)

    1.安装 SASS是Ruby语言写的,但是两者的语法没有关系.不懂Ruby,照样使用.只是必须先安装Ruby,然后再安装SASS. 假定你已经安装好了Ruby,接着在命令行输入下面的命令: gem i ...

  8. ArrayList 初学小结!

    package good.com; import java.util.ArrayList;//导入 ArrayList 包 调用动态数组! public class ArrayListList { / ...

  9. jexus ASP.NET开发注意项1

    Jexus@宇内(273766940) 9:09:02 linux上的文件名和文件路径是大小写敏感的. Jexus@宇内(273766940) 9:10:11 在win上,你文件名是 Login.as ...

随机推荐

  1. ABP框架系列之三:(Entity Framework Integration-实体框架集成)

    ASP.NET Boilerplate can work with any O/RM framework. It has built-in integration with EntityFramewo ...

  2. SQL Server CTE 递归查询全解 -- 转 学习

    在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,本文详细介绍CTE递归调用的特性和使用示例 ...

  3. PgAgent安装、配置、运行

    一 安装cmakewget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gztar -zxvf cmake-2.8.5.tar.gzcd /root ...

  4. Thinking in Java Chapter 14

    From Thinking in Java 4th Edition RTTI(Run-Time Type Information),运行时类型信息,使得你可以在程序运行时发现和使用类型信息.对RTTI ...

  5. WCF透明代理类,动态调用,支持async/await

    我们希望WCF客户端调用采用透明代理方式,不用添加服务引用,也不用Invoke的方式,通过ChannelFactory<>动态产生通道,实现服务接口进行调用,并且支持async/await ...

  6. Docker - 国内镜像的配置及使用

    Docker国内镜像 DaoCloud - Docker加速器 阿里云 - 开发者平台 微镜像 - 希云cSphere 网易蜂巢 阿里云的Docker加速器 阿里云 - 开发者平台:https://d ...

  7. 基数排序的理解和实现(Java)

    基数排序是桶排序的扩展算法,其思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较排序. 算法流程: 将所有待比较数值统一为同样的数位长度,数位较短的数前面补零. 从最低位开始,依次进行一次排 ...

  8. 关于springboot aop 俩次调用的问题 aop多次调用

    由于我在springboot 启动类中 给我的切面类进行了赋值  即@Bean 然而我在切面类中加了@Component 导致 springboot 注入了俩个 bean  所以导致 aop 多次执行 ...

  9. spring cloud+.net core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  10. spring security 实践 + 源码分析

    前言 本文将从示例.原理.应用3个方面介绍 spring data jpa. 以下分析基于spring boot 2.0 + spring 5.0.4版本源码 概述 Spring Security 是 ...