您的位置:首页 > 编程语言 > ASP

Asp.net笔记

2015-09-08 11:01 691 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdn_0123/article/details/48288217

C#中最常用的变量类型:
1、string 字符串型
2、int 整型 32位 取值范围:-2147483648 ~ 2147483647
short 短整型 16位 取值范围:-32768 ~ 32767
3、double 双精度型 取值:小数点后15~16位
float 单精度型 注意赋值加f 如 float f_pai=3.1f
4、Boolean 布尔型 例 Boolen a = 30 > 20 返回true/false
5、DateTime 日期时间型
6、Char 字符型

Convert.ToDateTime (“1910-1-2”) 日期时间型赋值写法
DateTime.Now 获取当前时间

ToString() 转为字符串
Response. Write() 输出到页面

string a=”20”;
int b = Convert.ToInt16(a); //int16 即为短整型 short 此时int > short 会缩小取值范围

char chr_a;
chr_a = Convert.ToChar(65); //结果为A

double d_x = double .Parse(string); //字符串转换为其它数据类型

数组
int[] a = new int[5]; //声明一个int型的一维数组,并创建5个元素的数组,下标为a[0] ~ a[4]
int[] b = new int[] {1,2,3.4}; //定义数组的同时也可给数组赋值
Response. Write(a[0] == null); //结果为true,没有赋值的数组输出为null,长度为0(a[0].Length)
字符型数组(char[])默认值为空字符,对应ACSII值为=0,不是null,与上面相反

数组里数值型(double[])未赋值时默认为0、布尔型(Boolean[])未赋值时默认值为false、日期时间型(DateTime[])未赋值时默认值为公元0001年1月1日 0时0分0秒

Char[] chr_a = “hello world”.ToCharArray(); //把字符串转为单个字符数组
Chr_a[1] = Convert.ToChar(Convert.ToInt16(chr_a[1]) + 4 ); //输出chr_a[1]值为i

运算符
a += b 等同于 a = a+b;
X = a++ +b+c 等同于 X = a+b+c; a = a+1;
X = ++ a +b+c 等同于 a = a+1; X = a+b+c;
大条条原则:算数运算符 > 逻辑运算符 > 关系运算符 > 赋值运算符 如 2+4 > 5; //true

While(条件){
表达式
}
Do{
表达式
}while(条件)

For(int i=1; i<6; i++){
输出;
break; //跳出循环
}

文本框属性:
text 设置或获取文本内容
TextMode SingleLine, MultiLine, Password
MaxLanth 文本框最大长度
ReadOnly TURE/FALSE 是否只读
Enabled TURE/FALSE 是否可操作
AutoPostBack 自动提交(在无按钮 Submit的时候敲键盘可以触发提交)

Panel呈现方式等价于

(例 Panel.Controls.Add(obj);)
编程上是不同的概念:
Panel 属于 WebControl 类
Div 属于 LiteralControl 类
Div runat=”server” 属于 HtmlControl 类
编程作用:WebControl > HtmlControl > LiteralControl (无法后台编程)

单选文本框:RadioButton(ID.Checked = true 为选中状态,可以ID1.Checked = ID2.Checked …= false)

//规避文本框输入内容有误
Try { 表达式 }; //尝试表达式
Catch { }; //可以为不写,需跟着上面为一体

多选文本框:CheckBox 与上面单选框类似(勾选可执行属性AutoPostBack=true)

Foreach(自变量a in 集合b) {
操作每一个a
}; //a和b的类型要相同,如(Control a in id.Controls)

Foreach( Control ctl in div_chks.Controls){
if (ctl is CheckBox) { //ctl里可能很多控件,文本框 多选框等,加以判断要不下面转换会报错
CheckBox _chk ;
_chk = (CheckBox)ctl; // 把Control类型显示转换为CheckBox类型 (textBox)
if(_chk.Checked){ … }; //勾选中
}
}
Convert.ToChar(13); //等价于 \n ;

DropDownList //下拉列表 (ID.Items[i].Selected = true 为选中状态;ID.Items.clear() 为清空所有项)
如何判断用户的选择:
ID.SelectedIndex 返回一个数值(0,1,2…)
ID.SelectedValue 返回字符串Value值
ID.SelectedItem.Text 返回字符串(显示的文本内容)
如何获取其他项的内容:
ID.Items[i].Text 下标为i 项的text值
ID.Items[i].Value 下标为i 项的Value值

ListItem是列表对象,属于WebControls下的一个子类;
Response.Redirect(‘http://www.baidu.com’); //重定向

Boj.getType(); //可以获取某个对象的类型
创建一个类的代码写法:
ListItem obj_li;
obj_li = new ListItem ();

ID.Items.Add(obj_listitem); //为增加新列表项
ID.Items.Remove(obj_listitem); //删除一个特定的ListItem
ID.Items.RemoveAt(i); //删除索引号为i的这个项

ListBox; //可多选下拉列表,属性于DropDownList相同

增加一个链接:
HyperLink link = new HyperLink;
Link.NavigateUrl = http://xx;
Link.Text = “XX”;
Panel.Controls.Add(link);

PageLoad 首次载入页面
If (!IsPostBack){ … } //不是回发页面下执行

执行顺序: … > PageLoad > … > 控件 > … > 按钮 > …

String s_a = “111 ,222,333”;
String [] arrS_b = s_a. split(‘,’);
Response.Write(arrS_b[0]); //结果:111

ASP. NET页面跳转方法:
Response.Redirect(“UrlString”); //重定向,服务器给浏览器一个重定向指令
Server.Transfer(“UrlString”); //服务器重定向 urlstring为本站相对地址,浏览器无法显示真实地址
PostBackUrl

~/img/… ; 表示根目录下的img目录下

百度\u0080http://www.baidu.com\0081网易\u0080http://www.163.com
string[] s = XXX . Replace(“\u0081”,””) . Split(‘\u0080’); 把字符串中的\u0081替换成空,再把有\u0080分割

实现单值Cookie的设置:
HttpCookie ck_a = new HttpCookie(“ animal”);
ck_a.Value = “猫” ;
ck_a.Expires = DateTime.Now.AddDays(1); //1天过期,如果没有,则关闭浏览器失效
Response.Cookie.Add(ck_a); //发送写入cookie指令给浏览器(Response)

If(Request.Cookies[“animal”]) != null){ //获取Cookies的方法
string _str = Request.Cookies[“animal”].Value;
}

Response.Cookies[“animal”].Expires = DateTime.MinValue; //删除Cookise标准写法

跨页面传值的常用方法:
1、QueryString //URL传递方式 如 http://www.xx.com/webform.aspx?name=lilei?user=mei
2、Form-Post 控件传递 //ASP常用
3、Cookies 传递
4、Application 传递 //公共对象,所有页面和用户都可以调,WEB应用关闭时失效
5、Session 传递

Request.QueryString[“name”]; //以这种方式获取上面URL的结果为 lilei; 如果不存在值或名称则返回null,与参数不重名时可以简写 Request[“name”];

在程序里构建,用Response.Redirec()传递的方法:
string _name = txt_name.text;
String _url = xx.aspx?name=” + _name;
Response.Redirect(_url);

string _checked = chk_1.Checked.ToString();
String _url = xx.aspx?name=” + _checked;
Sever.Transfer(_url); //地址上没有传值但可跳转,容易导致地址传值的问题

多值cookie的添加:
HttpCookie ck_a = new HttpCookie(“ animal”); //animal为主键名称
ck_a.Values.Add(“name”,“猫”) ; //name/age/..为子键, .Set(“name”,“狗”) 修改 .Remove(“name”)删除. Clear()删除全部
ck_a.Values.Add(“age”,“2”) ; //获取子键值的方法ck_a.Values[“age”];
….
ck_a.Expires = DateTime.Now.AddDays(1);
Response.Cookie.Add(ck_a);
删除方法与单值一样:
ck_a.Expires = DateTime.MinValue;
Response.Cookies[“主键名称”].Expires = DateTime.MinValue;

全Cookie遍历
Foreach( string _key in Request.Cookies.Allkeys ) { … } //对主键遍历
Foreach( string _subkey in Request.Cookies[_key].Values.keys ) { … } //对某一主键所有子键遍历

HttpCookies _ck = Request.Cookies[_key];
Foreach ( sting _subck in _ck .Values. Keys) {
ID.Text += _subck + “ : ” + _ck.Values[_subkey] + “\n” ;
}

HttpCookie ck_a = new HttpCookie(“ animal”); //定义animal为主键名称的Cookies
HttpCookie ck_a = Request.Cookies[“ animal”]; //读取上面定义完成的animal为主键名称的Cookies值方法

与Cookies相似,创建一个session:(遍历与Cookies一致)
Session[“key_name”] = … ;
Session.Add(“key_name”, objvaule);
获取一个session:
Sting str_ss = session[“ss_str”].tostring(); //存储字符串
Int i_ss = (int)session[“ss_str”]; //存储数值
TextBox txt_ss = (Textbox)Session[“ss_txt”]; //存储一个控件

Session.Remove(“key_name”); //清除某一session
Session.Abandon(); //清除所有的session

String[] _sarr = (string[])session[“sarr”]; //session数组显示转换方法
For(int I = 0; i<_sarr.Length; i++) { id.text += _sarr[i] }

Foreach(string _key in session.keys){ …}; //遍历所有session的所有主键

Response.Redirect( Requst.Url.LocalPath.tostring() ); //当前页面URL的相对路径

网页如何被调用的:

当PreviousPage非空的时候,①才可以调用其中的控件!②并且通过PostBackURL属性设置调用的页面我们才对其进行跨页面控件的调用操作!

If( PreviousPage != null ){
If(PreviousPage.IsCrossPagePostBack){
TextBox ctl_txt = ( TextBox)PreviousPage.FindControl(“txt_name”) ; //在某个容器范围找ID(txt_name)的控件
}
}

通过ID 寻找一个WEB控件: Control . FindControl ( ID )

File类
Exists(_path) 检测文件是否存在 boolean
readAllText(_path) 读取整个文件 string
readAllLine(_path) 分行读取整个文件 string[]
writeAllText(_path, _content[]) 重写指定文件的内容
writeAllLine(_path, _content[]) 重写指定文件内容

appendAllText(_path) 追加
appendAllLine(_path) 追加行(数组)

Directory类 getfiles(_path, “*.txt”) 遍历文件夹下的.txt文件 Mappath(“file”); 虚拟路径转成实际物理路径!

Path类
Getfilename(_path) 从字符串中分理出文件名 string
getFileNameWithoutExtension(_path) 获取不含扩展名的文件名 string
Combine(str, str, …, str) 将字符串组合成完整路径 string

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: