第一章
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 ...
随机推荐
- MVC+EF(CODEFIRST)+EASYUI医药MIS系统
https://www.cnblogs.com/chenlinzhi/p/4332628.html
- pycharm 如何进行全部搜索
界面里面先按ctrl F 弹出搜索页面 在搜索框内连续按两次shift shift可以搜索全文
- 20155326刘美岑 《网络对抗》Exp1 PC平台逆向破解
20155326刘美岑 <网络对抗>逆向及Bof基础实践 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函 ...
- docker安装redis 指定配置文件且设置了密码
---------首先,所有docker的命令,都可以用 docker help 来查询,这个挺好的,我反正记不住辣么多命令呀. 1.直接pull 官方镜像吧.没啥说的,这样方便省事.如果你非要用 ...
- 人脸识别准备 -- 基于raspberry pi 3b + movidius
最近准备系统地学习一下深度学习和TensorFlow,就以人脸识别作为目的. 十年前我做过一些图像处理相关的项目和研究,涉及到图像检索.记得当时使用的是SIFT特征提取,该特征算子能很好地抵抗图像旋转 ...
- IOS - 修改APP桌面名称为中文名称!
1,修改“Display Name”为想要的中文. 2,修改“bundle display name”为想要的中文.
- springMVC 处理json 及 HttpMessageConverter 接口
一.SpringMVC处理json的使用 1.添加依赖jar包 <dependency> <groupId>com.fasterxml.jackson.core</gro ...
- IntelliJ IDEA 注册码(因为之前的地址被封杀了,所以换了个地址)
附上IntelliJ IDEA 注册码(感谢提供注册码的大神):http://idea.qinxi1992.cn/(已封杀) http://idea.lanyus.com/(新地址) 注:以前直接复制 ...
- Java学习笔记29(集合框架三:泛型)
泛型的概念: 简单地讲,就是同一个方法(类),可以接受不同的数据类型并运行得到相对应的结果,不会出现安全问题 上一篇有一段这样的代码: 没有定义集合类型.迭代器类型 package demo; imp ...
- Tools - 源代码阅读分析工具Source Insight
简介 https://www.sourceinsight.com/ Source Insight是一个面向项目开发的程序编辑器和代码浏览器,可以分析C/C++.C#.Java.Python等语言源代码 ...