第一章
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 ...
随机推荐
- 容器启动脚本报错:exec user process caused "no such file or directory"
1.现象 standard_init_linux.go:: exec user process caused "no such file or directory" 2.原因 原因 ...
- 支持复制粘贴word图片的文本编辑器
下载并打开基于PHP环境的工程: 运行: 尝试使用文档复制后粘贴进来: 通过粘贴后,文档以及图片被粘贴进来了,看看html代码: 由此可看出图片全部使用img标签统一. 看看文档图片被放置在哪了: ...
- Qt中的CSS配置(QDarkStyleSheet)
QDarkStylesheet gihub地址 https://github.com/ColinDuquesnoy/QDarkStyleSheet
- CPU性能分析
CPU性能分析工具 lscpu:查看CPU硬件信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Litt ...
- Repository 简化实现多条件查询
Repository 在做查询的时候,如果查询条件多的话,linq查询表达式会写的很复杂,比如: public IQueryable<Student> Get(int id, string ...
- SVN 客户端 TortoiseSVN 的安装和使用
关于 参考博客:TortoiseSVN新人使用指南 TortoiseSVN 是一个 Apache Subversion(SVN)客户端,实现为Windows外壳扩展.它直观且易于使用,因为它不需要Su ...
- jdk的安装和配置环境变量
一.下载 JDK是个免费的东东,所以大家不要去百度啥破解版了,直接去官网下载最新版本吧,比较安全,官网地址:http://www.oracle.com/technetwork/java/index.h ...
- Linux 进程一直占用单核CPU分析
pidstat 1信息
- 使用Go语言访问JSON数据(gojsonq)
使用Go语言访问JSON数据(gojsonq) 主要是使用第三方的库 gojsonq,来查询JSON数据 例如这样的JSON数据 { "name":"computers& ...
- 使用pipenv隔离不同项目的依赖包
pipenv可以为不同的路径创建python环境和依赖包,结合pyenv可以达到为不同项目使用不同python版本,不同依赖包的目的. pip install pipenv #安装pipenv 使用p ...