阶段性知识点总结
1.JQuery 获取元素的方法:通过id $("#a") 通过class $(".a") 通过div $("div")
2.jquery 循环 :
$("div").each(function(){
//这里干你想干的事情
//用$(this)可以访问正在循环的元素
});
例如:
function spanclick() {
$("span").each(function (i) {
$(this).click(function () {
hide();
$(this).parent().find("ul").show();
})
})
}
js初始化:
$(function () {
showuser();
$("#btn").click(queryuser);//按钮点击触发的方法
})
一般处理程序.ashx中的接收数据的方法:
context.Request["type"] == "list"
string name = context.Request["name"];
一般处理程序中向前台发送数据:
引用命名空间:
using System.Web.Script.Serialization;
输出方法:
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(users);
context.Response.Write(json);
3.获取某个元素的父元素: .parents("div[class='']")
4.寻找子元素:find("div[class='']")
5.html() ()中带参数--赋值 不带参数--取值 前台标签使用
6.val() lable不能使用该方法取值,只能使用html()方法 服务器控件使用
7.attr("checked") 取值 attr("checked",true) 赋值
8.JQuery中常用的ajax数据发送方法: $.post() $ajax
$.ajax实例:
function showuser() {
$.ajax({
type: "get",
data: { name: $("#name").val() },
url: "User.ashx?type=list",
success: function (data) {
getUserInfo(data);
}
})
}
$.post实例:
$("#UserName").blur(function () {
$.post("Service.ashx"), { type: "CheckName", name: $("#UserName").val() }, function (data) {
if (data == true) {
$("#nameInfo").html("已存在")
}
else {
$("#nameInfo").html("");
}
}
})
9.文件夹操作 Directory静态文件夹类 创建、删除……
Directory类常用静态方法
目录创建
Directory.CreateDirectory("E:\\Test");
目录删除
Directory.Delete("E:\\Test");
目录移动
Directory.Move("E:\\Test", "E:\\test1");
获取当前路径下的目录
string [] dirs= Directory.GetDirectories("E:\\");
获取当前路径下的文件
string[] files = Directory.GetFiles("E:\\");
foreach (string dir in dirs)
{
Response.Write(dir);
}
foreach (string file in files)
{
Response.Write(file);
}
文件的操作:
File类 创建、删除…… Filestream
创建文件:
File.Create("E:\\shixiangmei\\candy.txt");//新建文件
File.Open("E:\\shixiangmei\\shixiangmei.txt", FileMode.OpenOrCreate);//打开文件
写数据(追加)
FileStream fs = new FileStream("D:\\123.txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(File.Open("D:\\123.txt", FileMode.Append));
sw.WriteLine("Hello");
sw.Close();
读数据
FileStream fs = new FileStream("E:\\123.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs);
string str = string.Empty;
string sr2 = "";
while ((str = sr.ReadLine()) != null)
{
sr2 += str;
}
string sq = sr2;
文件写入的两种方式:
File.WriteAllText("E:\\shixiangmei\\shixiangmei.txt", "hello world!史向梅", Encoding.UTF8);
FileStream.write()
FileStream类用法
写入文件
FileStream fs = new FileStream("E:\\test2.txt",FileMode.OpenOrCreate);
byte[] bt=System.Text.ASCIIEncoding.UTF8.GetBytes("练习");
fs.Write(bt, 0, bt.Length);
fs.Close();
读取文件
FileStream fs = new FileStream("E:\\test2.txt", FileMode.OpenOrCreate);
byte[] bt=new byte[fs.Length];
fs.Read(bt, 0, bt.Length);
Response.Write(System.Text.ASCIIEncoding.UTF8.GetString(bt));
fs.Close();
10.XML:
命名空间:
using System.Xml;
aspx页面读取XML文件:
string fileName = Server.MapPath("Role.xml");
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
实例化XML文件:
XmlDocument doc = new XmlDocument();
XmlDeclaration decl= doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(decl);
创建父节点
XmlElement systems=doc.CreateElement("systems");
doc.AppendChild(systems);
创建父节点的子节点
XmlElement system = doc.CreateElement("system");
systems.AppendChild(system);
创建子节点的name属性值
system.SetAttribute("name", "单点登录");
追加子节点
node.AppendChild(url);
删除子节点
XmlNode node = doc.SelectNodes("/System/system/url")[0];
node.ParentNode.RemoveChild(node);
保存:
doc.Save("D:\\user.xml");
获取所有节点
XmlNodeList list = doc.SelectNodes("/systems/system");
//输出所有节点的信息: 方法一
foreach (XmlNode node in list)
{
Response.Write(node.InnerXml);
}
//输出所有节点的信息:方法二
for (int i = 0; i < list.Count; i++)
{
Response.Write(list[i].InnerXml);
}
查找节点的两种方法
方法一:XmlNodeList xl = dc.SelectNodes("/Roles/Role[@name='管理员']/menu");
方法二://XmlNode xl = dc.SelectSingleNode("/Roles/Role[@name='管理员']/menu");
遍历输出值
foreach (XmlNode x in xl)
{
this.menu.Text += x.InnerText;
}
通过属性值查找某个节点:"/A/B[@name='abc']"
node.append()追加节点 创建子节点通过doc.createXMldocument(" ") 保存:doc.save(string filename);
11.模板页:
占位符
<asp:ContentPlaceHolder ID="left" runat="server">
//不可写入任何代码,否则将被覆盖。
</asp:ContentPlaceHolder>
子页面:
<asp:Content ID="Content1" ContentPlaceHolderID="left" runat="server">
//插入控件……
</asp:Content>
注意:ContentPlaceHolderID="left" 的ID和模板页中相应的占位符的ID相同。
模板页中寻找子页面中的控件:Label lblContent = (Label)left.FindControl("lblContent");//"lblContent"为子页面中的控件的ID
子页面中寻找模板页中的控件:Label lblUser = (Label)Master.FindControl("lblUser");//"lblUser"为模板页中的控件ID
12.验证控件:必填、验证
必填控件:RequiredFieldValidator
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请输入数值!"
ControlToValidate="TextBox2" Display="Dynamic" ForeColor="Red">
</asp:RequiredFieldValidator>
验证一致性控件:CompareValidator
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="你输入的不一样!"
ControlToCompare="TextBox2" ControlToValidate="TextBox1" Display="Dynamic"
ForeColor="Red">
</asp:CompareValidator>
注意:
必填控件: ControlToValidate 指定绑定的控件
Display 显示方式
验证一致性控件: ControlToCompare 指定相比较的控件
Button按钮一个属性:是否触发验证。如果有验证控件,CausesValidation="True"提交时就会触发验证 否则不触发验证。
13.用户控件:创建、使用
在调用页面注册:
前台:(“设计”模式下拖控件,将产生以下代码:)
<%@ Register src="Menu.ascx" tagname="Menu" tagprefix="uc1" %>
<uc1:Menu ID="Menu1" runat="server" />
后台:通过属性方式 .ascx页面后台
private string height;
public string Height
{
get { return height; }
set { height = value; }
}
占位符:(前台).aspx页面
<asp:PlaceHolder ID="PlaceHolder1" runat="server">
//不可写任何代码。
</asp:PlaceHolder>
使用方式:(后台)赋值 .aspx页面
Menu con = (Menu)this.LoadControl("Menu.ascx"); //Menu为用户控件的名称(类)
con.Width = "100px";
con.Height = "100px";
con.Title="军事";
con.BgColor="green";
con.LineNum="10";
PlaceHolder1.Controls.Add(con);//将值增加到前台的占位符中