ASP.NET 使用笔记

原创 2005年04月29日 18:12:00

ASP.NET 使用笔记

XML:

读取相对目录下的XML文件:

1、DLL(需要将XML属性加入到工程内部)
System.Reflection.Assembly objAssembly = System.Reflection.Assembly.GetExecutingAssembly();
Stream objStream = objAssembly.GetManifestResourceStream("ProjectName." + strFileName+ ".xml");
XmlDocument m_xmlDocument = new XmlDocument();
m_xmlDocument.Load(objStream);
2、WEB
string strRefFullFileName = System.Web.HttpContext.Current.Server.MapPath(s_strDefaultFileName)
FileStream objFS = File.Open(m_strRefFullFileName , FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
xmlDocument.Load(objFS);

读取XML内容:
<?xml version="1.0" encoding="utf-8" ?>
<Entity name="ObjEmplyeeInfo">
 <SqlString>
  <Sql Name="SearchByEmployeeNo">
   <context>UPDATE Affiliation SET Affiliation.UpdateUserID = @UserID,Affiliation.UpdateDateTime = GETDATE()
    FROM Affiliation INNER JOIN  Person ON Person.PersonID = Affiliation.PersonID
    WHERE Person.EmployeeNo = @EmployeeNo and Affiliation.UpdateDateTime = @UpdateDateTime
   <context>
       <Param Name="@WithdrawDate" attribute="WithdrawDate"/>
   <Param Name="@EmployeeNo" attribute="EmployeeNo" />
   <Param Name="@SequenceNo" attribute="SequenceNo" />
   <Param Name="@UserID" attribute="UserID"/>
   <Param Name="@UpdateDateTime" attribute="UpdateDateTime"/>
  </Sql>
 </SqlString>
</Entity>

代码:
XmlNode xmlNode = m_xmlDocument.SelectSingleNode("Entity/SqlString/Sql[@Name='SearchByEmployeeNo']");
if (xmlNode != null)

 // 内容(<context>)的读取
 String strSql = xmlNode.InnerText.ToString();

 // 其他多个平级节点内容(<Param> 该节点名称可自定义)的读取
 XmlNodeList xmlNodelist = m_xmlDocument.SelectNodes("Entity/SqlString/Sql[@Name='SearchByEmployeeNo']/Param");  
 if (xmlNodelist.Count > 0)
 { 
  string[] strParams = new string[xmlNodelist.Count];
  string[] strValue = new string[xmlNodelist.Count];
  this.m_DataProtoType = new DataProtoType[xmlNodelist.Count];
  for (int i=0; i < xmlNodelist.Count; i++)
  {
   strParams[i] = xmlNodelist.Item(i).Attributes["Name"].Value.ToString();
   strValue[i] = xmlNodelist.Item(i).Attributes["attribute"].Value.ToString();
  }
 }
}


读取web.config上的自定义配置项:
<configuration>
  <configSections>……</configSections>
 <appSettings>
  <add key="isCheckXMLFileUpdateEverWhen" value="true"></add>
 </appSettings>
</configuration>

string str = (string)System.Configuration.ConfigurationSettings.AppSettings["isCheckXMLFileUpdateEverWhen"];


判断文件是否更新
DateTime dtDateTimeLast = File.GetLastWriteTime(m_strFileName);
if (m_dtOldTime.Ticks.CompareTo(dtDateTimeLast .Ticks)!=0){
 ……
}

ASP.NET中调用Script激发按钮click事件
C#
namespace HK_WEB
{
……
 public class ALG_SerchClient : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.TextBox txtUserID;
  protected System.Web.UI.WebControls.Button btnQuery;
 }
 private void Page_Load(object sender, System.EventArgs e)
 {
  txtUserID.Attributes.Add("onblur","doQuery()");
 }
……
}

ASP.NET
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
  <title>MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM<title>
  <script language="javascript">
   document.form1.btnQuery.click();
  </script>
  </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="form1" method="post" runat="server">
   <table align="center" width="60%" height="100%" border="0">
    <tr height="5">
     <td width="20%" style="HEIGHT: 26px">
      <asp:TextBox Runat="server" ID="txtUserID" MaxLength style="ime-mode:disabled"></asp:TextBox></td>
     <td width="5%" style="HEIGHT: 26px"><asp:Button Runat="server" ID="btnQuery"></asp:Button></td>
    </tr>
   </table>
  </form>

屏蔽IE回退按钮

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
  <title></title>
  <script language="javascript">
   history.go(1);
  </script>

设置IE缓存过期:
Response.Expires = -1;

反射读取page页面的字段信息
public void test(Page objPageCheck ){
   Type objPageType = objPageCheck.GetType().BaseType;
   FieldInfo objFieldInfo = objPageType.GetField("Field_Name",BindingFlags.Static | BindingFlags.Public);
   if (null != objFieldInfo)
   {
    objPageCheck.Session["Sess_Global_PageCode"] = objFieldInfo.GetValue(objPageCheck);
   }
}

判断程序多启动:
class AA0100
{
        private const string strClassName = "AA0100";
        static int Main(string[] args)
        {
                System.Diagnostics.Process[] objProcess = System.Diagnostics.Process.GetProcessesByName(strClassName);
                if (objProcess.Length > 1)
                {
                        return 1;
                }
                ……
                Return 2;
        }
}
Nunit测试:
[Test]
public void MainTestCase1()
{
        Process objProcess = Process.Start(@"H:/Documents/...../AA0100/bin/Debug/AA0100.exe");
        objProcess.WaitForExit();
        Assert.AreEqual(2, objProcess.ExitCode);
}
[Test]
public void MainTestCase2()
{
        Process objProcess1 = Process.Start(@"H:/Documents/.....//AA0100/bin/Debug/AA0100.exe");
        Thread.Sleep(100);
        Process objProcess2 = Process.Start(@"H:/Documents/.....//AA0100/bin/Debug/AA0100.exe");
        objProcess1.WaitForExit();
        objProcess2.WaitForExit();
        Assert.AreEqual(1, objProcess2.ExitCode);
}
自定义工具
更新页面HTML内容:
1、重写父类方法:
protected override void Render(HtmlTextWriter output)
{      
        output.Write(@"<table border='0' cellpadding='0' cellspacing='0' width='100%' height='1'>
                                <tr>
                                        td height='1' bgcolor='#24377E' width='50%'>
                                                <p><blink><strong>派遣勤務者登録システム</strong></blink>
                                        </td>
                                </tr>
                        </table >”);
}
2、script方法:
页面端代码:
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="MessageBoard.ascx.cs" Inherits="MessageBoard" TargetSchema="
http://schemas.microsoft.com/intellisense/ie5"%>
<FONT face="MS UI Gothic"></FONT>
<div align="center">
        <table border="0" id="AutoNumber1" width="75%" class="Description">
                <%
                        foreach(string strMsg in m_objMessageArrayList)
                        {
                %>
                <tr>
                        <td class="Caution">
                                <p align="center"><FONT face="MS UI Gothic"></FONT><%=strMsg%></p>
                        </td>
                </tr>
                <%
                        }
                %>
        </table>
</div>

配置SQLServer会话状态

态设——SQLServer 模式

1、   在安装有SQLServer的目标服务器上执行sql文件:installsqlstate.sql InstallPersistSqlState.sql。两个脚本均建一个名 ASPState 的数据,它包含若干存储过程。

   两个脚本的差异在于放置 ASPStateTempApplications ASPStateTempSessions 表的位置。InstallSqlState.sql 脚本将些表添加到 TempDB 数据数据算机重新启动时失数据。相反,InstallPersistSqlState.sql 脚本将些表添加到 ASPState 数据数据算机重新启动时保留会数据。
情况下,两个脚本文件均安装在下面的位置
systemroot/Microsoft.NET/Framework/versionNumber

如:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322目录下

2、   启动服务器上的SQLSERVERAGENT服务。

3、   修改IIS的配置文件web.config

    <sessionState
            mode="SQLServer"
            sqlConnectionString="data source=10.69.0.13;user id=sa;password=sa"
            cookieless="true"
            timeout="20"
    />

ASP.NET学习笔记

ASP.NET学习笔记(1) 1.ASP.NET需要学习的内容.     一般处理程序HttpHandler     模板引擎     WebForm(aspx)     ASP.NET MVC   ...
  • gyming
  • gyming
  • 2014年03月26日 10:42
  • 1117

ASP.Net MVC开发基础学习笔记(8):新建数据页面

前言 前面讲解了如何创建一个查询页面并给查询页面添加排序、搜索及分页功能。今天我们来讲讲如何向这个列表添加数据。 讲解的顺序将按照添加数据的步骤的时间顺序来进行,方便大家理清逻辑关系。本节将涉及前面讲...
  • mss359681091
  • mss359681091
  • 2016年04月18日 17:02
  • 2622

asp.net 控件开发笔记

1.http://book.csdn.net/bookfiles/337/一本控件开发的书,翻译的‘ 2.http://www.cnblogs.com/HeroBeast/category/85469...
  • laolaowhn
  • laolaowhn
  • 2007年11月07日 10:31
  • 462

WAP ASP.Net 开发笔记(一)

WAP ASP.Net 开发笔记(一)配置了IIS,,建立了一个asp.net mobile工程,又加上了关于WML  MIME的映射条目,满以为可以测试了,于是启动M3Gate,但是失败了,地到的信...
  • shanhe
  • shanhe
  • 2005年09月06日 23:33
  • 2801

<ASP.NET4 从入门到精通>学习笔记1

很久没有写东西了,今日有时间,开始整理一下关于ASP.NET 4的学习笔记,提醒自己,也欢迎评论。   概述一共分为6个大的部分,后续文章,将根据每个部分进行整理,本读书笔记只是整理关键点,对于啰嗦的...
  • dongdongdongJL
  • dongdongdongJL
  • 2014年07月09日 21:28
  • 1992

学习ASP.NET MVC5框架揭秘笔记目录

学习ASP.NET MVC框架揭秘笔记目录 第一章     ASP.NET+MVC 1.1传统的MVC模式 持续更新中,,,,...
  • yejinwei1220
  • yejinwei1220
  • 2015年05月09日 23:43
  • 972

云笔记使用的感受想法!(对有道云笔记、印象云笔记的比较与评价)

看到同事在使用云笔记,也下载了来试用一下,不过安装试用之后,就吧下载的几个都给删除了。说一下自己内心的感受和想法: 功能太多 下载了有道云笔记、印象笔记、云笔记。功能真的太多了,支持语音、...
  • default7
  • default7
  • 2014年08月23日 06:57
  • 29795

在ASP.NET中使用JSON

What is JSON:在ASP.NET中使用JSON 本篇将简单的介绍一个在.NET中实现JSON的API,然后使用该API做个C/S ASP.NET的小练习。Json.NET的简单介绍首先介绍一...
  • keyler
  • keyler
  • 2006年11月21日 09:16
  • 9226

使用第三方Markdown编辑器编辑为知笔记

使用第三方Markdown编辑器编辑为知笔记前言为知笔记默认的编辑器并没有预览功能,而提供的MD编辑器插件也并不是很好用,但为知笔记提供了可以使用第三方编辑器的功能,Typora编辑器是目前最优秀的M...
  • u014633852
  • u014633852
  • 2017年03月30日 23:27
  • 845

使用Emacs记课堂笔记

我最近折腾了Emacs的org-mode,准备上课就用这个来记笔记了。   Org-mode可以钳入Latex代码,并且直接导出成Latex以及更多的pdf,将文档生成odt,然后用libr...
  • baidu_15145125
  • baidu_15145125
  • 2014年08月18日 10:47
  • 135
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET 使用笔记
举报原因:
原因补充:

(最多只允许输入30个字)