泛型是程序设计语言的一种特性。
允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,
那些部分在使用前必须作出指明。
各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。
将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。
泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。
引用类型和数值类型的区别是值类型将值直接存储在内存,引用类型将地址存储在内存,然后在堆开辟空间让存储的地址指向堆中的地址
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
JQUERY 动画
Animate原理
在规定时间内,展示CSS改变的过程
基本语法:
$("selector").animate({CSS规则},speed,"",callback);
CSS规则是指目标的样式,speed是指过渡时间,callback是指执行完动画之后调用的函数
常见的JOUERY动画包括:Hide(),Show(),SlideDown(),SlideUp()
$(document).ready(function () {
$("#div_1").click(function () {
$("#div_1").animate({ "width": "400px" }, 600);
});
$("#div_4").click(function () {
$("#div_4").animate({ "width": "+=40px" }, 600);
});
$("#div_3").click(function () {
$("#div_3").animate({ "width": "+=40px", "height": "+=40px" }, 600);
});
$("#div_2").click(function () {
$("#div_2").animate({"width":"400px","backgroundColor":"green"},600,"",alert("完成更改!"));
});
});
// 位移动画
要让元素移动先要设置元素的postition属性 relative;absolute
语句
$(...).animate({left:"100px"});
.............................................................................................................
自定义类:面向对象的编程思维
对象是指实例化的类
对象直观的属性就是公有属性
对象内部的属性就是私有属性
子类的属性和功能一般比父类更多更加具体化,
(还继承了父类的一些属性)
.cs 文件
结构
Public class class_name{
Public class_name(){
构造类的代码
}
}
属性
Public class class_name{
//设置属性名
Public string_stringName;
public int_intName;
private boolean _bName; //私有属性,外部访问不到
Public class_name(){
构造类的代码
}
}
练习 构造一些类
1,建立一个类 mystring 可以转化字符串类型
2,建立一个数据库连接类,简化数据库连接代码
//ADO.NET中的DATESET
//DATETABLE
*cnn.GetSchema("Table",null)
获取ACCESS结构表【返回的结果是:System.Data.DataTable】
结构和GridView相同,可作为GridView数据源
DataTable.Select() ->获取行列表
DataTable.Select("TABLE_TYPE='TABLE'")
..................................................................
//用户登录功能模块
建立一个类处理本模块的功能
———》用户的登入和登出
处理用户登录的信息
where 存放在哪里 session(true/false)
what 存放的形式 布尔变量?字符串?类
when 何时进行判断 ?
how 语句代码编写
建立一个用户类
Login()
LoginOut()
setCookie()
redCookie()
定义类如下:
public class MyuserInfo {
public string userID;//用户姓名
public string userPSW;//用户密码
public Boolean autoLogin;//是否使用cookie自动登录,true为自动登录
private Boolean intoLogin;//用户是否已登录,内部变量
public MyuserInfo() { //构造函数设置初始值
intoLogin = false;
userPSW = ""; userID = ""; autoLogin = false;
//尝试读取Cookie并且登陆
try { readCookie();
if (autoLogin) { //判断autoLogin是否为true
tryLogin();
}
}
catch { }
}
//尝试登陆
public Boolean tryLogin() {
intoLogin = false;
MyClass _cnn = new MyClass("~\\App_DATA\\DATA.mdb");
_cnn.Open();
string _sql = "select U_psw from T_user where U_name='"+userID+"'";
OleDbDataReader dr = _cnn.GetDataReader(_sql);
if (dr.Read())
{
if (dr["U_psw"].ToString() == userPSW)
{
intoLogin = true;
}
}
_cnn.Close();
return intoLogin;
}
//退出登录
public void outLogin() {
intoLogin = false;
}
//判断用户是否已登录
public Boolean getIsLogin() {
return intoLogin;
}
//用Cookie保存用户信息
public void SetCookie() {
HttpCookie _ck = new HttpCookie("userlogin");
_ck.Values.Add("cId", userID);
_ck.Values.Add("cPsw", userPSW);
_ck.Values.Add("cAutoLogin", autoLogin.ToString());
_ck.Expires = DateTime.MaxValue;
HttpContext.Current.Response.Cookies.Add(_ck);
}
//读取Cookie中用户保存的信息
public void readCookie() {
HttpCookie _ck = HttpContext.Current.Response.Cookies["userlogin"];
if (_ck != null) {
userID = _ck.Values["cId"];
userPSW = _ck.Values["cPsw"];
autoLogin = Boolean.Parse(_ck.Values["cAutoLogin"]);
}
}}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
//自定义控件
由用户自己定义和编写的功能模块
.ascx
ascx文件的本质上是一个WebFrom
特点:可以连接css文件JavaScript文件,
有WebFrom特有的事件和WebFrom类似的生命周期
内容可以是静态的,也可以是动态生成
实现方式-----》
定义.ascx文件
引用
<%@ Register Src="~/Ctl.ascx"
TagName="Ctl_Name"
TagPrefix="前缀"%>
<前缀:空间名 ID/>
(引用过后使用时和普通asp控件一样)
//自定义控件的属性
1.与自定义类相似
2.控件内部子控件的属性不能被直接访问到
3.Private私有成员属性的应用
4.属性的设置和读取
get{};
set{};
例:
设置一个label的text属性为可读写:
public string labText
{
get{ return label1.Text;}
set{Label1.Text=Value;}
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
//自定义数据库连接类
public class superConn{
public OleDbConnection cnn;
private OleDbCommand cmd;
private OleDbDataReader datar;
public superConn(string mdbFileName) {
string _path = "~\\App_Data\\" + mdbFileName;
string str_conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
+ System.Web.HttpContext.Current.Server.MapPath(_path);
//MapPath(_path);
cnn = new OleDbConnection(str_conn);
}
// superConn.open()
public void open() {
cnn.Open();
}
public void close() {
cnn.Close();
}
public OleDbDataReader GetDataReader(string _sql) {
cmd = new OleDbCommand(_sql, cnn);
datar = cmd.ExecuteReader();
return datar;
}
//文件管理类
public class superFile {
public string _fileName;
public string _fileTitle;
public string _fileDir="~/filesDownload";
//1
public superFile() {
_fileName = _fileTitle = "";
}
//2
public superFile(int _id) {
_fileName = _fileTitle = "";
superConn sconn = new superConn("fileMNG.mdb");
sconn.open();
string _sql = "SELECT * FROM T_FILES WHERE f_id=" + _id;
OleDbDataReader dr = sconn.GetDataReader(_sql);
if (dr.Read())
{
_fileTitle = dr["f_title"].ToString();
_fileName = dr["f_name"].ToString();
}
sconn.close();
}
//下载
public void fileDownload() {
string _path = System.IO.Path.Combine(HttpContext.Current.Server.MapPath(_fileDir),_fileName);
if (System.IO.File.Exists(_path))
{
//Response文件流
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + _fileTitle);
HttpContext.Current.Response.ContentType = "application/unknow";
HttpContext.Current.Response.TransmitFile(_path);
HttpContext.Current.Response.End();
}
}
}
允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,
那些部分在使用前必须作出指明。
各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。
将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。
泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。
引用类型和数值类型的区别是值类型将值直接存储在内存,引用类型将地址存储在内存,然后在堆开辟空间让存储的地址指向堆中的地址
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
JQUERY 动画
Animate原理
在规定时间内,展示CSS改变的过程
基本语法:
$("selector").animate({CSS规则},speed,"",callback);
CSS规则是指目标的样式,speed是指过渡时间,callback是指执行完动画之后调用的函数
常见的JOUERY动画包括:Hide(),Show(),SlideDown(),SlideUp()
$(document).ready(function () {
$("#div_1").click(function () {
$("#div_1").animate({ "width": "400px" }, 600);
});
$("#div_4").click(function () {
$("#div_4").animate({ "width": "+=40px" }, 600);
});
$("#div_3").click(function () {
$("#div_3").animate({ "width": "+=40px", "height": "+=40px" }, 600);
});
$("#div_2").click(function () {
$("#div_2").animate({"width":"400px","backgroundColor":"green"},600,"",alert("完成更改!"));
});
});
// 位移动画
要让元素移动先要设置元素的postition属性 relative;absolute
语句
$(...).animate({left:"100px"});
.............................................................................................................
自定义类:面向对象的编程思维
对象是指实例化的类
对象直观的属性就是公有属性
对象内部的属性就是私有属性
子类的属性和功能一般比父类更多更加具体化,
(还继承了父类的一些属性)
.cs 文件
结构
Public class class_name{
Public class_name(){
构造类的代码
}
}
属性
Public class class_name{
//设置属性名
Public string_stringName;
public int_intName;
private boolean _bName; //私有属性,外部访问不到
Public class_name(){
构造类的代码
}
}
练习 构造一些类
1,建立一个类 mystring 可以转化字符串类型
2,建立一个数据库连接类,简化数据库连接代码
//ADO.NET中的DATESET
//DATETABLE
*cnn.GetSchema("Table",null)
获取ACCESS结构表【返回的结果是:System.Data.DataTable】
结构和GridView相同,可作为GridView数据源
DataTable.Select() ->获取行列表
DataTable.Select("TABLE_TYPE='TABLE'")
..................................................................
//用户登录功能模块
建立一个类处理本模块的功能
———》用户的登入和登出
处理用户登录的信息
where 存放在哪里 session(true/false)
what 存放的形式 布尔变量?字符串?类
when 何时进行判断 ?
how 语句代码编写
建立一个用户类
Login()
LoginOut()
setCookie()
redCookie()
定义类如下:
public class MyuserInfo {
public string userID;//用户姓名
public string userPSW;//用户密码
public Boolean autoLogin;//是否使用cookie自动登录,true为自动登录
private Boolean intoLogin;//用户是否已登录,内部变量
public MyuserInfo() { //构造函数设置初始值
intoLogin = false;
userPSW = ""; userID = ""; autoLogin = false;
//尝试读取Cookie并且登陆
try { readCookie();
if (autoLogin) { //判断autoLogin是否为true
tryLogin();
}
}
catch { }
}
//尝试登陆
public Boolean tryLogin() {
intoLogin = false;
MyClass _cnn = new MyClass("~\\App_DATA\\DATA.mdb");
_cnn.Open();
string _sql = "select U_psw from T_user where U_name='"+userID+"'";
OleDbDataReader dr = _cnn.GetDataReader(_sql);
if (dr.Read())
{
if (dr["U_psw"].ToString() == userPSW)
{
intoLogin = true;
}
}
_cnn.Close();
return intoLogin;
}
//退出登录
public void outLogin() {
intoLogin = false;
}
//判断用户是否已登录
public Boolean getIsLogin() {
return intoLogin;
}
//用Cookie保存用户信息
public void SetCookie() {
HttpCookie _ck = new HttpCookie("userlogin");
_ck.Values.Add("cId", userID);
_ck.Values.Add("cPsw", userPSW);
_ck.Values.Add("cAutoLogin", autoLogin.ToString());
_ck.Expires = DateTime.MaxValue;
HttpContext.Current.Response.Cookies.Add(_ck);
}
//读取Cookie中用户保存的信息
public void readCookie() {
HttpCookie _ck = HttpContext.Current.Response.Cookies["userlogin"];
if (_ck != null) {
userID = _ck.Values["cId"];
userPSW = _ck.Values["cPsw"];
autoLogin = Boolean.Parse(_ck.Values["cAutoLogin"]);
}
}}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
//自定义控件
由用户自己定义和编写的功能模块
.ascx
ascx文件的本质上是一个WebFrom
特点:可以连接css文件JavaScript文件,
有WebFrom特有的事件和WebFrom类似的生命周期
内容可以是静态的,也可以是动态生成
实现方式-----》
定义.ascx文件
引用
<%@ Register Src="~/Ctl.ascx"
TagName="Ctl_Name"
TagPrefix="前缀"%>
<前缀:空间名 ID/>
(引用过后使用时和普通asp控件一样)
//自定义控件的属性
1.与自定义类相似
2.控件内部子控件的属性不能被直接访问到
3.Private私有成员属性的应用
4.属性的设置和读取
get{};
set{};
例:
设置一个label的text属性为可读写:
public string labText
{
get{ return label1.Text;}
set{Label1.Text=Value;}
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
//自定义数据库连接类
public class superConn{
public OleDbConnection cnn;
private OleDbCommand cmd;
private OleDbDataReader datar;
public superConn(string mdbFileName) {
string _path = "~\\App_Data\\" + mdbFileName;
string str_conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
+ System.Web.HttpContext.Current.Server.MapPath(_path);
//MapPath(_path);
cnn = new OleDbConnection(str_conn);
}
// superConn.open()
public void open() {
cnn.Open();
}
public void close() {
cnn.Close();
}
public OleDbDataReader GetDataReader(string _sql) {
cmd = new OleDbCommand(_sql, cnn);
datar = cmd.ExecuteReader();
return datar;
}
//文件管理类
public class superFile {
public string _fileName;
public string _fileTitle;
public string _fileDir="~/filesDownload";
//1
public superFile() {
_fileName = _fileTitle = "";
}
//2
public superFile(int _id) {
_fileName = _fileTitle = "";
superConn sconn = new superConn("fileMNG.mdb");
sconn.open();
string _sql = "SELECT * FROM T_FILES WHERE f_id=" + _id;
OleDbDataReader dr = sconn.GetDataReader(_sql);
if (dr.Read())
{
_fileTitle = dr["f_title"].ToString();
_fileName = dr["f_name"].ToString();
}
sconn.close();
}
//下载
public void fileDownload() {
string _path = System.IO.Path.Combine(HttpContext.Current.Server.MapPath(_fileDir),_fileName);
if (System.IO.File.Exists(_path))
{
//Response文件流
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + _fileTitle);
HttpContext.Current.Response.ContentType = "application/unknow";
HttpContext.Current.Response.TransmitFile(_path);
HttpContext.Current.Response.End();
}
}
}