net之旅:XmlDocument对象
工作中遇到操作xml节点。对其节点值加1.后考虑到XmlDocument对象
使用XmlDocument类前必先引用两个命名空间:

  1. using System.Xml;
  2. using System.IO;

操作节点值代码如下:

  1. XmlDocument xmlDoc = new XmlDocument();
  2.         xmlDoc.Load(Server.MapPath("~/App_Data/xml.xml"));
  3.         XmlNodeList elemList = xmlDoc.GetElementsByTagName("SiteName");
  4.  
  5.         XmlNode mNode;
  6.         for (int i = 0; i < elemList.Count; i++)
  7.         {
  8.             mNode = elemList[i];
  9.             mNode.InnerText = Convert.ToString(Convert.ToInt16(mNode.InnerText) - 1);
  10.         }
  11.  
  12.         XmlTextWriter xw = new XmlTextWriter(new StreamWriter(Server.MapPath("~/App_Data/xml.xml")));
  13.         xw.Formatting = Formatting.Indented;
  14.         xmlDoc.WriteTo(xw);
  15.         xw.Close();

, , ,

Net之旅:Parameter 对象
Parameter 对象代表与基于参数化查询或存储过程的 Command 对象相关联的参数或自变量.在参数化查询时。使用Parameter对象还有利于防止注入。
Parameter 对象属性与方法:
Name 属性可设置或返回参数名称;
Value 属性可设置或返回参数值;
Attributes 和 Direction、Precision、NumericScale、Size 以及 Type 属性可设置或返回参数特性;
AppendChunk 方法可将长整型二进制或字符数据传递给参数

Command对象操作Parameter对象代码:

  1. //定义SQL查询语句
  2.  string queryString = "Select au_id,au_fname,au_lname,state from authors where state=@state";
  3. //创建并设置SqlCommand
  4. SqlCommand dbCommand = new SqlCommand();
  5. dbCommand.Connection = dbConnection;
  6. dbCommand.CommandType = CommandType.Text;
  7. dbCommand.CommandText = queryString;
  8. //设置参数@state
  9. SqlParameter dbParameter_state = new SqlParameter();
  10. dbParameter_state.ParameterName = "@state";
  11. dbParameter_state.Value = state;
  12. dbParameter_state.DbType = DbType.StringFixedLength;
  13. //向SqlCommmand中添加@state
  14. dbCommand.Parameters.Add(dbParameter_state);

Read the rest of this entry »

,

Net之旅:FileUpload控件上传限制设定方法
昨天测试FileUpload控件.依托于IIS7上传大体积附件时失败.只要超过30M就不行了.但我在web.config中明明设置了

  1. <httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>

为什么不起作用尼.根据IE提示错误信息:
打到%windir%\system32\inetsrv\config\applicationhost.config ,然后单击 打开 。
在该 ApplicationHost.config 文件中找到在 节点。
删除 maxAllowedContentLength 属性。 或者,添加一个值,使客户端发送作为请求的一部分的内容长度标头的大小相同。 默认情况下, maxAllowedContentLength 属性的值是 30000000.
帮助信息说到maxAllowedContentLength 的默认大不为30M.
这时明白web.config文件中设定的是针对某个WEB站点.而非全部站点的上传大小.在当applicationhost.config 中未对maxAllowedContentLength 设定大小时默认就是30M.在web.config中设定超过于30M.依然上传最大为30M.然页在applicationhost.config未找到节点.后面自己试着添加此节点.
在节点 内添加节点.

  1. <requestFiltering>
  2.    <requestLimits maxAllowedContentLength="300000000" />
  3.    ..........
  4. </requestFiltering>

再次上传大附件.OK成功...

, , , , , ,

Net之旅:引用母模板控件属性-MasterType指令-FindControl方法
内容页如何获取母模板控件的属性.似乎不易做到.总结下两种方法.
1:MasterType指令
2:FindControl方法
举例说明:
MasterPage.master(母模板), Default.aspx(内容页), masterNowDate(母模板控件), defaultNowDate(内容页控件)
MasterType指令方法:把母模板masterNowDate的属性传递至内容页defaultNowDate控件
MasterPage.master部分主要代码:

  1. public Label nowDate  //创建Label类型属性nowDate也存储读取控件的属性
  2.     {
  3.         get
  4.         {
  5.             return masterNowDate;
  6.         }
  7.         set
  8.         {
  9.             masterNowDate = value;
  10.         }
  11.     }

Default.aspx部分主要代码:

  1. < %@ MasterType VirtualPath="~/MasterPage2.master" %>
  2. 添加MasterType指令
  3. <script runat="server">
  4.     protected void Page_Load(object sender, EventArgs e)
  5.     {
  6.         Master.nowDate.Text = DateTime.Now.ToShortDateString();
  7.         defaultNowDate.Text = Master.nowDate.Text;
  8.     }
  9. </script>

Read the rest of this entry »

, , ,