校园梦网网络电话,中国最优秀的网络电话

C#-[祈福]天佑中华 众志成城 抗震救灾 重建家园

你的苦难就是我们的苦难,你的希望就是我们的希望。当灾难来临时,我们与你在一起,一起为逝者默念安息、一起为伤者祈祷平安。而更多的关怀和力量,正悄悄在汇集:天佑中华,众志成城;抗震救灾、重建家园......
posts - 58, comments - 31, trackbacks - 1, articles - 5
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年8月17日

     摘要: 在Web应用开发中列表的分页是难免要遇到的问题,在ASP.NET 2.0中微软为我们提供了很多数据源控件,如SqlDataSource、ObjectDataSource等,它们都可以实现默认分页,但是默认分页是在内存中实现的,用户量增大时Web服务器的负担会急剧增大,在多层体系结构程序开发中,往往把分页和排序的工作交给数据库服务器来完成,在网上也能找到很多能够快速实现分页的控件,但是做为一个程序员对分页的实现还是有一定的了解比较好,如果过渡的依赖于控件,你说写出的代码独立性就很差,一般在多层web应用开发中建议尽量使用ObjectDataSource,而不要使用SqlDataSource,因为  阅读全文

posted @ 2008-08-17 11:46 尹合磊 阅读(66) | 评论 (0)编辑

2008年8月15日

     摘要: Calendar 控件并不直接支持数据绑定,也就是说,您不是将日历作为一个整体绑定到数据源。相反,您编写代码来获取所需数据,然后就可以在 DayRender 事件中,将当前呈现的日期与从数据源读取的数据进行比较。  阅读全文

posted @ 2008-08-15 10:08 尹合磊 阅读(87) | 评论 (2)编辑

2008年7月25日

语法

recordset.AddNew FieldList, Values

参数

FieldList   可选。新记录中字段的单个名称、一组名称或序号位置。

Values   可选。新记录中字段的单个或一组值。如果 Fields 是数组,那么 Values 也必须是有相同成员数的数组,否则将发生错误。字段名称的次序必须与每个数组中的字段值的次序相匹配。

说明

使用 AddNew 方法创建和初始化新记录。通过 adAddNew 使用 Supports 方法可验证是否能够将记录添加到当前的 Recordset 对象。

在调用 AddNew 方法后,新记录将成为当前记录,并在调用 Update 方法后继续保持为当前记录。如果 Recordset 对象不支持书签,当移动到其他记录时将无法对新记录进行访问。是否需要调用 Requery 方法访问新记录则取决于所使用的游标类型。

如果在编辑当前记录或添加新记录时调用 AddNew,ADO 将调用 Update 方法保存任何更改并创建新记录。

AddNew 方法的行为取决于 Recordset 对象的更新模式以及是否传送 Fields Values 参数。

在立即更新模式(调用 Update 方法时提供者会立即将更改写入基本数据源)下,调用不带参数的 AddNew 方法可将 EditMode 属性设置为 adEditAdd。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新记录传递到数据库并将 EditMode 属性重置为 adEditNone。如果传送了 Fields Values 参数,ADO 则立即将新记录传递到数据库(无须调用 Update),且 EditMode 属性值没有改变 (adEditNone)。

在批更新模式(提供者缓存多个更改并只在调用 UpdateBatch 时将其写入基本数据源)下,调用不带参数的 AddNew 方法可将 EditMode 属性设置为 adEditAdd。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新的记录添加到当前记录集并将 EditMode 属性重置为 adEditNone,但在调用 UpdateBatch 方法之前提供者不将更改传递到基本数据库。如果传送 Fields Values 参数,ADO 则将新记录发送给提供者以便缓存;需要调用 UpdateBatch 方法将新记录传递到基本数据库。

如果 Unique Table 动态属性被设置,并且 Recordset 是对多个表执行 JOIN 操作的结果,那么,AddNew 方法只能将字段插入到由 Unique Table 属性所命名的表中。

posted @ 2008-07-25 09:45 尹合磊 阅读(159) | 评论 (0)编辑

string strHtml=" <div> <span>dfsadfasdf <sub>dfdf </sub> </span> </div>";
如何用正则表达式去掉所有HTML标记而保留 <sub> </sub>标记
-----------------------------
在写程序时,根据客户需要,粘贴在HTML编辑器中的信息能够把html标记清除掉,而保留 <sub> </sub>这样上下标的标记
请问用html如何过滤(Replace)?


 

string strHtml = " <div> <span>dfsadfasdf <sub>dfdf </sub> </span> </div>";
string result = Regex.Replace(strHtml, @"<(?!/?sub)[^>]*>""", RegexOptions.IgnoreCase);


posted @ 2008-07-25 09:44 尹合磊 阅读(81) | 评论 (0)编辑

2008年7月15日

最近开发一个项目,其中用到截取带html标记得字符串得功能,于是就参考一些文档写了这样一个方法来截取字符串,希望对大家的项目开发有帮助,全部代码如下:

/*
  * 按字节长度截取字符串(支持截取带HTML代码样式的字符串)
  * @param param 将要截取的字符串参数
  * @param length 截取的字节长度
  * @param end 字符串末尾补上的字符串
  * @return 返回截取后的字符串
  */
  public static string subStringHTML(string param,int length,string end)
  {
   string Pattern = null;
   MatchCollection m = null;
   StringBuilder result = new StringBuilder();
   int n = 0;
   char temp;
   bool isCode = false; //是不是HTML代码
   bool isHTML = false; //是不是HTML特殊字符,如&nbsp;
   char[] pchar = param.ToCharArray();
   for (int i = 0; i < pchar.Length; i++)
   {
    temp = pchar[i];
    if (temp == '<')
    {
     isCode = true;
    }
    else if (temp == '&')
    {
     isHTML = true;
    }
    else if (temp == '>' && isCode)
    {
     n = n - 1;
     isCode = false;
    }
    else if (temp == ';' && isHTML)
    {
     isHTML = false;
    }

    if (!isCode && !isHTML)
    {
     n = n + 1;
     //UNICODE码字符占两个字节
     if (System.Text.Encoding.Default.GetBytes(temp + "").Length > 1)
     {
      n = n + 1;
     }
    }

    result.Append(temp);
    if (n >= length)
    {
     break;
    }
   }
   result.Append(end);
   //取出截取字符串中的HTML标记
   string temp_result = result.ToString().Replace("(>)[^<>]*(<?)","$1$2");
   //去掉不需要结素标记的HTML标记
   temp_result = temp_result.Replace(@"</?(AREA|BASE|BASEFONT|BODY|BR|COL|COLGROUP|DD|DT|FRAME|HEAD|HR|HTML|IMG|INPUT|ISINDEX|LI|LINK|META|OPTION|P|PARAM|TBODY|TD|TFOOT|TH|THEAD|TR|area|base|basefont|body|br|col|colgroup|dd|dt|frame|head|hr|html|img|input|isindex|li|link|meta|option|p|param|tbody|td|tfoot|th|thead|tr)[^<>]*/?>",
    "");
   //去掉成对的HTML标记
   temp_result=temp_result.Replace(@"<([a-zA-Z]+)[^<>]*>(.*?)</\1>","$2");
   //用正则表达式取出标记
   Pattern = ("<([a-zA-Z]+)[^<>]*>");
   m = Regex.Matches(temp_result,Pattern);

   ArrayList endHTML = new ArrayList();

   foreach(Match mt in m)
   {
    endHTML.Add(mt.Result("$1"));
   }
   //补全不成对的HTML标记
   for (int i = endHTML.Count - 1; i >= 0; i--)
   {
    result.Append("</");
    result.Append(endHTML[i]);
    result.Append(">");
   }

   return result.ToString();
  }

如果对大家有帮助,请多支持,谢谢!

posted @ 2008-07-15 22:01 尹合磊 阅读(208) | 评论 (4)编辑

asp.net控件开发基础(1)
GridView模版列嵌套GirdView显示主从表数据
GridView中添加一个CheckBox列
域环境中安装部署VSTS全过程
设置VSS使支持通过Internet访问
浅析Microsoft .net PetShop程序中的购物车和订单处理模块(Profile技术,异步MSMQ消息)
ASP.NET 2.0 正式版中无刷新页面的开发
ASP.NET 2.0中实现客户端回调的简化版
ASP.NET 2.0 Treeview Checkboxes - Check All - Javascript
ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题转换
Microsoft .NET Pet Shop 4 架构与技术分析
BinaryImage:直接显示以二进制形式存储在数据库中的图片
ASP.NET2.0中themes、Skins轻松实现网站换肤!
ASP.NET 2.0 正式版中无刷新页面的开发
Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧
今天拿到一个TFS Workgroup Edition,想从B3R升级,结果开始了一天的艰难之路。。
asp.net2.0:扩展ImageButton控件定制自己需要的功能
.net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常
ASP.NET 2.0中的跨页面提交
ASP.NET 2.0中使用multiview控件
Asp.net 2.0的异常处理需要考虑的问题
ASP.NET 2.0 Personal Web Site Starter Kit 主题的动态切换(增加八种主题)
如何在DotNet 2的登录组件中检索用户的锁定状态及解锁?
IIS和ASP.NET2.0
ASP.NET2.0 HiddenField控件
asp.net 2.0中新增的web.config的默认namespace功能
在asp.net 2.0中使用CuteEditor 5.0的一个注意事项
ASP.NET: Custom AutoCompleteTextBox WebControl [With Source Code]
使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理
Visual Studio 2005 的 101 个示例 --MSDN
vs2003 和vs2005下的发送SMTP邮件 (downmoon原创)
将博客园程序从Visual Studio 2003迁移到Visual Studio 2005的尝试
VS2005中GridView簡單應用
VS2005中通过code snippet定制类模板
创建自定义的Visual Studio项模板
VS2005中通过code snippet定制类模板
配置VSS2005的Internet访问
VS.NET2005中的WEBPART初步(二)
ASP.NET 2.0 异步页面原理浅析 [1]
自动填写版权信息
关于Web Part 通讯
Net Framework 2.0 事务处理
Asp.net 2.0 WebPart使用经验点滴
GridView控件使用经验
在MastPage中引用脚本资源
提供一种简单、直观、简单、可扩展的MasterPage方案
Enterprise Library2.0研究(二)日志组件的开发说明
(翻译)怎么在ASP.NET 2.0中使用Membership
Enterprise Library2.0研究(一)日志组件的使用场景
VC# 2005 Screen Starter kit里的Rss处理类分析
革新:.NET 2.0的自定义配置文件体系初探
Asp.net网站的ClickOnce自动部署(3)-虚拟目录的配置
C#2.0介绍之Iterators(迭代器)
ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署
DataTable中数据记录的统计
.NET配置文件解析过程详解
C# 2.0——匿名方法、迭代程序和局部类
在自定义Server Control中捆绑JS文件 Step by Step
正式发布表达式计算引擎WfcExp V0.9(附源码)
关于无aspx文件部署,我的一些探索心得
深度解析Asp.Net2.0中的Callback机制
Server Side ViewState 在服务器端存贮ViewState (ASP.NET 2.0)
解读System.Web.UI.Page中关键方法ProcessRequestMain()
使用ASP.NET 2.0提供的WebResource管理资源
ASP.NET 2.0中使用自定义provider (2)
转全角半角(C#,VB.NET)
小议数据库主键选取策略(原创)
让人哭笑不得的“Unable to load one or more of the types in the assembly”问题的解决!
继上次的GDI+做报表设计器后.............
Visual Studio 2005中编译调试新功能
Transaction in ADO.net 2.0
.NET v2.0 下的高精度计数器 —— Stopwatch [.NET v2.0, C#]
.Net2.0 的新线程 ParameterizedThreadStart &BackgroundWorker
使用C#2.0进行文件压缩和解压
在C#中使用Nullable类型
net2.0自定义注册控件
Net Framework 2.0 事务处理
体验.net2.0的优雅(3) -- 为您的 SiteMap 添加 控制转发功能
Composite UI Application Block学习笔记之Smart Part
为ASP.NET 2.0配置数据源
体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤
InternalsVisibleToAttribute,友元程序集访问属性
NUnit实践的之路
.NET20 一种简单的窗口控件UI状态控制方法
Asp.Net2.0无刷新客户端回调
ASP.NET2.0 新增控件(1)——ImageMap
在asp.net 2.0中使用自定义的provider
ASP.NET 2.0中使用自定义provider (2)
在asp.net 2.0中使用SqlBulkCopy类迁移数据
使用asp.net 2.0和SQL SERVER 2005构建多层应用
asp.net 2.0中利用app_offline.htm功能
Visual Studio 2005中编译调试新功能
asp.net 2.0中扩展login控件
Composite UI Application Block学习笔记之Event Broker
ASP.NET 2.0 QuickStart Tutorial--asp.net 2.0的速成教程
VS2005 Web工程模版ClubSite中相册薄的一处BUG?
Visual Studio 2005中编译调试新功能
使用ASP.NET 2.0 的一些问题!
使用 .net 2.0 中 linkLabel 控件要注意的一点
Asp.Net2.0无刷新客户端回调
为 asp.net 2.0 的菜单控件增加 target 属性
ASP.Net 2.0 MasterPage中路径的处理
SQL Server 2005中设置Reporting Services发布web报表的匿名访问
让你的控件属性注释支持多语言
为 asp.net 2.0 的菜单控件增加 target 属性
发布一个原创的基于Ajax的通用(组合)查询
试用VS2005中的Performance Tools
中文转换为完整拼音算法原理分析

posted @ 2008-07-15 21:59 尹合磊 阅读(79) | 评论 (0)编辑

2008年7月13日

Dim strTemp
strTemp 
= strTemp & Request.ServerVariables("SERVER_NAME")
If Request.ServerVariables("SERVER_PORT"<> 80 Then strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT")
strTemp 
= strTemp & Request.ServerVariables("URL")
If Trim(Request.QueryString) <> "" Then strTemp = strTemp & "?" & Trim(Request.QueryString)
strTemp 
= LCase(strTemp)
'response.write strTemp
If Instr(strTemp,"select%20"or Instr(strTemp,"insert%20"or Instr(strTemp,"create%20"or Instr(strTemp,"delete%20from"or Instr(strTemp,"count("or Instr(strTemp,"drop%20table"or Instr(strTemp,"update%20"or Instr(strTemp,"truncate%20"or Instr(strTemp,"asc("or Instr(strTemp,"mid("or Instr(strTemp,"char("or Instr(strTemp,"xp_cmdshell"or Instr(strTemp,"exec%20master"or Instr(strTemp,"net%20localgroup%20administrators"or Instr(strTemp,":"or Instr(strTemp,"net%20user"or Instr(strTemp,"%20and%20"or Instr(strTemp,"%20or%20"then
response.redirect(
"/erradd.htm")
    
'    response.end
End If



global.asa好像办不到,如果是攻击数据库的,可以在数据库连接的包含文件里处理

posted @ 2008-07-13 12:08 尹合磊 阅读(54) | 评论 (0)编辑

     摘要: 在asp.net中时常需要调用js代码,如果js写在asp.net中,一般是不会出现乱码的问题。因为他们具有相同的编码。如果需要引用外部的javascript代码就会有乱码的风险了。一般情况下Asp.net和Javascript的页面编码不是GB2312就是Utf-8 ,如果两者的编码不一致就会产生乱码。解决方法就是想两者的编码进行统一。由于一般情况下Asp.net接受发送请求的编码是Utf-8的,javascript编码默认是Gb2312,故容易出现问题。   阅读全文

posted @ 2008-07-13 12:00 尹合磊 阅读(407) | 评论 (0)编辑

2008年6月18日

总结这次的工作,明白了几个关键的地方:
1.JavaScript中的确可以直接引用.Net服务器端控件,但是问题在于,控件的ID在编译后会自动加上名字空间,所以这里要特别注意。
2.使用JavaScript可以使对TreeView的操作不需要再PostBack,十分方便有效。
3.空间状态的显示和实际存储是有区别的,一定要十分注意。
需要在C#文件中加入:
TreeView.Attributes.Add("oncheck""tree_oncheck()");

主要的JavaScript代码如下:
<script language="javascript">
<!--

function tree_oncheck()
{
    
var node = TreeView.getTreeNode(event.treeNodeIndex);
    
var Pchecked = node.getAttribute("checked");
    setcheck(node, Pchecked);
    TreeView.queueEvent('oncheck', node.getNodeIndex());
}

function setcheck(node, Pc)
{
    
var ChildNode = new Array();
    ChildNode 
= node.getChildren();
    
if (parseInt(ChildNode.length) != 0)
    {
        
for (var i = 0; i < ChildNode.length; i++)
        {
            
var cNode = ChildNode[i];
            
if (cNode.getAttribute("checked"!= Pc)
            {
                
if (parseInt(cNode.getChildren().length) != 0)
                    setcheck(cNode, Pc);
                cNode.setAttribute(
"checked", Pc);
                TreeView.queueEvent('oncheck', cNode.getNodeIndex());
            }
        }
    }
}

//-->
</script>

整个功能的实现需要修改微软treeview控件的一个Bug 
需要修改inetpub\wwwroot\webctrl_client\1_0\treeview.htc。
把function doCheckboxClick(el)中的第一行,
el.checked = !el.checked;
改成:
el.checked = !el.getAttribute("checked");

posted @ 2008-06-18 19:32 尹合磊 阅读(110) | 评论 (0)编辑

2008年6月17日

     摘要: 总结:在Yahoo邮箱修改过之后,我们依然有办法使用POP、SMTP来收发Yahoo邮箱。在设置时个人建议使用如下配置:
  POP Server:pop.mail.yahoo.com.cn
  SMTP Server:smtp.mail.yahoo.com
  这样满足了告诉收取邮件和正确发送邮件。当然我们也可以这么设置:
  POP Server:pop.mail.yahoo.com
  SMTP Server:smtp.mail.yahoo.com   阅读全文

posted @ 2008-06-17 16:15 尹合磊 阅读(630) | 评论 (1)编辑