声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
enumHelper的多种方法
Continue Read..sqlHelper的多种方法
Continue Read..声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
asp.net RegisterClientScriptBlock 与 RegisterStartupScript 的区别
Continue Read..声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
asp.net datalist删除功能
Continue Read..声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
增改时判断是否已存在
Continue Read../// <summary>
/// 验证是否存在
/// </summary>
public bool UPExists(AnesMS.DataModel.AnesMethod model)
{
int result = 0;
string sql = "select * from [ms_patient].[AnesMethod] where (InternalCode=@InternalCode or DisplayName=@DisplayName) and AnesMethodKey!=@AnesMethodKey";
SqlParameter[] parameters = {
new SqlParameter("@InternalCode", SqlDbType.NVarChar,50),
new SqlParameter("@DisplayName", SqlDbType.NVarChar,100),
new SqlParameter("@AnesMethodKey", SqlDbType.BigInt),
};
parameters[0].Value = model.InternalCode;
parameters[1].Value = model.DisplayName;
parameters[2].Value = model.AnesMethodKey;
object obj = SqlHelper.ExecuteScalar(CommandType.Text, sql, parameters);
if (obj != null)
{
result = Convert.ToInt32(obj);
}
return result > 0 ? true : false;
}
/// <summary>
/// 验证是否存在
/// </summary>
public bool Exists(AnesMS.DataModel.AnesMethod model)
{
int result = 0;
string sql = "select count(*) from [ms_patient].[AnesMethod] where (InternalCode = @InternalCode or DisplayName = @DisplayName)";
SqlParameter[] parameters = {
new SqlParameter("@InternalCode", SqlDbType.NVarChar,50),
new SqlParameter("@DisplayName", SqlDbType.NVarChar,100)
};
parameters[0].Value = model.InternalCode;
parameters[1].Value = model.DisplayName;
object obj = SqlHelper.ExecuteScalar(CommandType.Text, sql, parameters);
if (obj != null)
{
result = Convert.ToInt32(obj);
}
return result > 0 ? true : false;
}
if (amMgr.Exists(aminfo))
{
//MessageBox.Show(this.Page, "你录入的麻醉方式的编码或名称已存在!");
Lsavemsg.ForeColor = Color.Red;
Lsavemsg.Text = "编码或名称已存在!!";
return;
}
声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
asp.net后台提交时验证
Continue Read..private bool ValidateInput()
{
string regex = @"^[0-9]+$";
msg = "";
isValidate = true;
if (string.IsNullOrEmpty(tbInternalCode.Text.Trim()))
{
isValidate = false;
msg += "编码不能为空." + " ";
}
if (string.IsNullOrEmpty(tbSortValue.Text.Trim()) || !Regex.IsMatch(tbSortValue.Text.Trim(), regex))
{
isValidate = false;
msg += "排序值应为非负整数." + " ";
}
if (!string.IsNullOrEmpty(tbDescText.Text.Trim())&&tbDescText.Text.Trim().Length>200)
{
isValidate = false;
msg += "描述不能超过200个字符.";
}
return isValidate;
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (!ValidateInput())
{
Lsavemsg.ForeColor = Color.Red;
Lsavemsg.Text = msg;
return;
}
}
声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
asp.net 消息框显示
Continue Read..声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
验证控件 RegularExpressionValidator
Continue Read..声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
webdiyer:AspNetPager分页设置
Continue Read..<webdiyer:aspnetpager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb"
EnableTheming="true" FirstPageText="首页" HorizontalAlign="right" LastPageText="尾页"
NextPageText="下一页" PageIndexBoxType="DropDownList"
PageSize="12" PrevPageText="上一页" ShowPageIndexBox="Always" TextBeforePageIndexBox="Go To Page: "
UrlPaging="false" Width="100%" onpagechanging="AspNetPager1_PageChanging" >
</webdiyer:aspnetpager>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["sectionkey"] != null)
sectionkey = Request.QueryString["sectionkey"].ToString();
SelectAllChests(sectionkey);
}
}
private void SelectAllChests(string sectionkey)
{
string strwhere = " ";
if (!string.IsNullOrEmpty(sectionkey)&§ionkey!="0")
{
strwhere = "and A.SectionKey = '" + sectionkey + "'";
}
else
{
if (DDLSection.Text != "0")
{
strwhere += " and A.SectionKey = " + DDLSection.Text;
}
if (DDLState.Text != "3")
strwhere += " and A.State = " + DDLState.Text;
if (txtChestsName.Value != "")
strwhere += " and A.NameText like '%" + txtChestsName.Value + "%'";
if (tbStart.Text != "")
strwhere += " and CONVERT(varchar(100),A.CreatedLocalDtm, 23) >= '" + tbStart.Text + "'";
if (tbEnd.Text != "")
strwhere += " and CONVERT(varchar(100), A.CreatedLocalDtm, 23) <= '" + tbEnd.Text + "'";
}
ds = ChestC.SelectAllChests(strwhere);
DataTable dt = ds.Tables[0];
//分页控件初始参数
this.AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;
this.AspNetPager1.PageSize = 13;
PagedDataSource pds = new PagedDataSource();
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
pds.PageSize = AspNetPager1.PageSize;
if (dt != null && dt.Rows.Count > 0)
{
pds.DataSource = dt.DefaultView;
RepeaterChests.DataSource = pds;
}
RepeaterChests.DataBind();
}
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
SelectAllChests(sectionkey);
}
声明:此文系舞林cuzn(www.wulinlw.org)原创稿件,转载请保留版权
asp.net笔记(13)
Continue Read..第十三章:Web应用程序包
打包需要解决两点
1)打包之后的网站中应该没有源文件(*.cs)
2)打包过程中应该把DotnetFrameworker打包进去,这样在安装过程
会自动识别目标计算机上是否有fw,如果没有则首先安装fw
打包的步骤:
1)安装WebDeployment。这是微软公司为了弥补vs2005自动的web打包而
发布一个插件,它可以把一个网站进行编译,其结果是没有源文件也可以运行
2)创建一个web应用程序
3)对准web应用程序单右-->add WebDeployment Project,确定
4)选择WebDeployment Project单右-->生成,就可以生成一个没有*.cs的网站
5)添加一个Web安装项目
6)选中Web安装项目按F4,弹出属性窗口,在其中输入安装项目的信息,包含:安装的标题,软件的作者等等
7)选中Web安装项目按单右-->属性-->系统必备--->选择"从与我应用程序相同的位置下载系统必备组件
8)选中"web应用程序文件夹"--->单右-->添加-->项目输出-->选择以前通过WebDeployment Project生成的项目-->确定
9)选中Web安装项目按单右-->生成--->在生成的文件夹的Debug文件夹中会看到
dotnetfx,setup.exe.WeijinSetUp.msi三个安装文件
10)把这三个安装文件刻成光盘,安装到目标文件就可
第十四章 xml文件的操作
1)在asp.net中要操作xml文件有三种方式
2)xmldocument类,xmlTextReader,xmlTextWriter类,DataSet类
xmldocument类
1:xmldocument实际上利用xml文档对像模型(dom)对xml进行操作
2:工作原理是把xml文档中的全部内容读到内存中,形成一个xml文档树
3:通过dom能够对xml文档进行增加,删除,修改等操作
4:缺点是如果文档非常大的话,则会导致内存资源不足的问题
有如下的xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<studs>
<stud>
<id>S1</id>
<name OtherName="二狗">张三</name>
<age>20</age>
</stud>
<stud>
<id>S2</id>
<name>李四</name>
<age>34</age>
</stud>
<stud>
<id>S3</id>
<name>小张</name>
<age>20</age>
</stud>
</studs>
document
|
|
--------------------
| |
xml studs
|
|
------------------------------------
| | |
stud stud stud
|
|
-----------
| | |
id name age
| | |
S1 张三 20
读文件:
XmlDataDocument doc = new XmlDataDocument();
string path = Environment.CurrentDirectory;
doc.Load(path + "\\XMLFile1.xml");
XmlElement root =doc.DocumentElement;//得到文档的根
foreach (XmlNode StudNode in root.ChildNodes)
{
string id = StudNode.ChildNodes[0].FirstChild.InnerText;
string name = StudNode.ChildNodes[1].FirstChild.InnerText;
string age = StudNode.ChildNodes[2].FirstChild.InnerText;
ListViewItem lv = new ListViewItem(id);
this.listView1.Items.Add(lv);
lv.SubItems.Add(name);
lv.SubItems.Add(age);
}
增加文件:
XmlDocument doc = new XmlDocument();
string path =Environment.CurrentDirectory + "\\XMLFile1.xml";
doc.Load(path);
XmlElement root = doc.DocumentElement;
XmlNode StudNode=doc.CreateNode(XmlNodeType.Element, "stud", "");
XmlNode IdNode = doc.CreateNode(XmlNodeType.Element, "id", "");
IdNode.InnerText = "S99";
XmlNode NameNode = doc.CreateNode(XmlNodeType.Element, "name", "");
NameNode.InnerText = "小二";
XmlNode AgeNode = doc.CreateNode(XmlNodeType.Element, "age", "");
AgeNode.InnerText ="67";
StudNode.AppendChild(IdNode);
StudNode.AppendChild(NameNode);
StudNode.AppendChild(AgeNode);
root.AppendChild(StudNode);
doc.Save(path);
修改文件:
XmlDataDocument doc = new XmlDataDocument();
string path = Environment.CurrentDirectory;
doc.Load(path + "\\XMLFile1.xml");
XmlElement root =doc.DocumentElement;
root.ChildNodes[0].ChildNodes[0].FirstChild.InnerText = "S7";
doc.Save(path + "\\XMLFile1.xml");
删除文件:
XmlDataDocument doc = new XmlDataDocument();
string path = Environment.CurrentDirectory;
doc.Load(path + "\\XMLFile1.xml");
XmlElement root =doc.DocumentElement;
root.RemoveChild(root.ChildNodes[0]);
doc.Save(path + "\\XMLFile1.xml");
读取属性:
XmlDataDocument doc = new XmlDataDocument();
string path = Environment.CurrentDirectory;
doc.Load(path + "\\XMLFile1.xml");
XmlElement root =doc.DocumentElement;
string st=root.ChildNodes[0].ChildNodes[1].Attributes["OtherName"].InnerText;
MessageBox.Show(st);
xmlTextReader类
1) 这个类提供一个只读的访问xml文件的方式,相当于利用dom而言,非常快速,但是它只能够
读,不能修改,要修改可以利用xmlTextWriter类
2) 不论是xmlTextReader类还是xmlTextWriter类,它们对xml操作必须是从头到尾进行操作,也
就是说如果你想操作第100个节点的内容,它们都会从第一个节点一步一步移到100个节点之后才
能进行操作,这个与xmlDocumnet的处理机制完全不一样,所以xmlTextWriter非常不适合于修改
读文件:
string path=Environment.CurrentDirectory+"\\XMLFile1.xml";
XmlTextReader xtr = new XmlTextReader(path);
while (xtr.Read())
{
if (xtr.HasAttributes)
{
MessageBox.Show(xtr.GetAttribute(0));
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "id") //读id
{
if (xtr.Read())
{
MessageBox.Show(xtr.Value);
}
}
}
xtr.Close();
}
写文件:
XmlTextWriter xmlwrite = new XmlTextWriter("..\\..\\XMLFile.xml",Encoding.Default);
xmlwrite.Formatting = Formatting.Indented; //设置换行标志
xmlwrite.WriteStartDocument();//写入开始位置
xmlwrite.WriteStartElement("peoples");//写入没有值的节点
xmlwrite.WriteStartElement("people");//写入没有值的节点
xmlwrite.WriteElementString("姓名", "张三");//写入有值的节点
xmlwrite.WriteEndElement();//为没有值的节点,写入结束标记
xmlwrite.WriteEndElement();//为没有值的节点,写入结束标记
xmlwrite.Flush();//把缓冲区的内容,真正的写入到文件中去
xmlwrite.Close();//关闭,以释放资源
DataSet类
读文件:
string path = Environment.CurrentDirectory + "\\XMLFile1.xml";
DataSet ds = new DataSet();
ds.ReadXml(path);
DataTable dt = ds.Tables[0];
string st = dt.Rows[i][j].ToString();
增加:
string path = Environment.CurrentDirectory + "\\XMLFile1.xml";
DataSet ds = new DataSet();
ds.ReadXml(path);
DataTable dt = ds.Tables[0];
DataRow dr = dt.NewRow();
dr[0] = "S8";
dr[1] = "爸爸";
dr[2] = "45";
dt.Rows.Add(dr);
ds.WriteXml(path);
修改:
string path = Environment.CurrentDirectory + "\\XMLFile1.xml";
DataSet ds = new DataSet();
ds.ReadXml(path);
DataTable dt = ds.Tables[0];
DataRow dr = dt.Rows[0];
dr[0] = "S8";
dr[1] = "爸爸";
dr[2] = "45";
ds.WriteXml(path);
三种方法总结:
1)如果操作的xml文件的结构与数据表相似,则优先考虑使用dataset
2)如果操作的xml文件的结构与数据表不相似:
A:如果要读:则使用xmlTextReader对像
B:如果要修改:则使用xmlDocument对像
高级编程
实现客户端无刷新加传