﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-ASP.NET AJAX MSSQL MYSQL 技术交流区</title><link>http://www.cnblogs.com/bullion/</link><description>Bullion技术交流BLOG</description><language>zh-cn</language><lastBuildDate>Fri, 29 Aug 2008 04:17:48 GMT</lastBuildDate><pubDate>Fri, 29 Aug 2008 04:17:48 GMT</pubDate><ttl>60</ttl><item><title>《转载》ASP.NET常见问题 </title><link>http://www.cnblogs.com/bullion/archive/2008/06/10/1216887.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Tue, 10 Jun 2008 10:17:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/06/10/1216887.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1216887.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/06/10/1216887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1216887.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1216887.html</trackback:ping><description><![CDATA[<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl01_TitleUrl href="/aspnet-sqlserver/archive/2007/12/25/1013453.html">截取字付串</A> </DIV>
<DIV class=postcontent>
<P><STRONG><SPAN style="COLOR: #000080"><SPAN style="FONT-SIZE: 12pt">public static string GetString(string str, int length )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i = 0, j = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (char chr in str)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((int)chr &gt;30)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i += 2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i &gt; length)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str = str.Substring(0, j) + "...";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return str;</SPAN></SPAN></STRONG></P>
<P><STRONG><SPAN style="COLOR: #000080"><SPAN style="FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</SPAN></SPAN></STRONG></P></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/25/1013453.html">2007-12-25 08:42</A> 风语战士 阅读(11) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/25/1013453.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1013453">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl03_TitleUrl href="/aspnet-sqlserver/archive/2007/12/25/1013449.html">表达是做为参数验证用</A> </DIV>
<DIV class=postcontent><FONT face="Courier New">&nbsp;<STRONG style="COLOR: #339966">public static bool IsValidUsername(string strName, string acsii)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (Regex.IsMatch(strName, acsii));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</STRONG></FONT> </DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/25/1013449.html">2007-12-25 08:39</A> 风语战士 阅读(7) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/25/1013449.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1013449">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl05_TitleUrl href="/aspnet-sqlserver/archive/2007/12/20/1008056.html">DataList翻页</A> </DIV>
<DIV class=postcontent><FONT face="Courier New"><STRONG>&nbsp; int CurrentPage;//<SPAN style="COLOR: red">当前页数<BR></SPAN>&nbsp;&nbsp;int PageSize;&nbsp;&nbsp; //<SPAN style="COLOR: red">每页条数</SPAN><BR>&nbsp;&nbsp;int PageCount;&nbsp; //<SPAN style="COLOR: red">总页数</SPAN><BR>&nbsp;&nbsp;int RecordCount;//<SPAN style="COLOR: red">总条数<BR>
<P><FONT face="Courier New"><BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;<SPAN style="COLOR: #000000">private void Page_Load(object sender, System.EventArgs e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;PageSize=16; //每页为16条记录<BR>&nbsp;&nbsp;&nbsp;if(!IsPostBack)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(Session["ji"]==null||Session["ji"].ToString()=="")<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write("&lt;script language = javascript&gt;window.open('Login.aspx','_top')&lt;/script&gt;");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp; DataListBind();<BR>&nbsp;&nbsp;&nbsp;&nbsp;Page.DataBind();<BR>&nbsp;&nbsp;&nbsp;&nbsp;CalculateRecord();<BR></SPAN>&nbsp;&nbsp;</FONT><SPAN style="COLOR: #000000">&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;}</SPAN></P>
<P><FONT face="Courier New">&nbsp;<SPAN style="COLOR: #000000">&nbsp;public void LinkButton_Click(Object sender, CommandEventArgs e)//</SPAN><SPAN style="COLOR: #ff9900">自己编写的按钮点击事件<BR></SPAN>&nbsp;<SPAN style="COLOR: #000000">&nbsp;{</SPAN><BR>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #000000">CurrentPage =(int)ViewState["PageIndex"];//</SPAN>获得当前页索引<BR>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #000000">PageCount = (int)ViewState["PageCount"];//</SPAN>获得总页数</FONT></P>
<P><FONT style="COLOR: #000000" face="Courier New">&nbsp;&nbsp;&nbsp;int inpage=0;<BR>&nbsp;&nbsp;&nbsp;string cmd = e.CommandName;</FONT></P>
<P><FONT face="Courier New">&nbsp;&nbsp;&nbsp;//判断cmd，以判定翻页方向</FONT></P><FONT face="Courier New">
<P><BR>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #000000">switch (cmd)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;case "prev"://<SPAN style="COLOR: #ff0000">上一页</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (CurrentPage &gt; 0)CurrentPage--;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;case "next":<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (CurrentPage &lt; (PageCount - 1)) CurrentPage++;//<SPAN style="COLOR: #ff0000">下一页<BR></SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;case "first"://<SPAN style="COLOR: #ff0000">第一页</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPage = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;case "end"://<SPAN style="COLOR: #ff0000">最后一页</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPage = PageCount - 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;case "jump"://<SPAN style="COLOR: #ff0000">跳转到第几页</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inpage=int.Parse(TextBox2.Text.Trim());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write("&lt;script&gt;alert('只能输入数字!!!')&lt;/script&gt;");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; if (this.TextBox2.Text.Trim()== "" || Int32.Parse(this.TextBox2.Text.Trim()) &gt; PageCount ||Int32.Parse(this.TextBox2.Text.Trim())&lt;0)//如果输入数字为空或超出范围则返回<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPage = Int32.Parse(this.TextBox2.Text.ToString()) - 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;ViewState["PageIndex"] = CurrentPage;//<SPAN style="COLOR: #ff0000">获得当前页</SPAN></SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #ff0000">//重新将DataList绑定到数据库</SPAN><BR>//CalculateRecord();<BR>&nbsp;&nbsp;DataListBind();&nbsp;</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;public void&nbsp; CalculateRecord()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #ff0000">//不可以放在初始化条件之前就绑定，那样的话，如果仅有一页的数据，“下一页”页仍然显示</SPAN><BR>&nbsp;&nbsp;&nbsp;CurrentPage = 0;//<SPAN style="COLOR: #ff0000">当前页习惯设为0<BR></SPAN>&nbsp;&nbsp;&nbsp;ViewState["PageIndex"] = 0;//<SPAN style="COLOR: #ff0000">页索引也设为0</SPAN></SPAN></P>
<P><BR><SPAN style="COLOR: #000000"><SPAN style="COLOR: #ff0000">&nbsp;&nbsp;&nbsp;//计算总共有多少记录</SPAN><BR>&nbsp;&nbsp;&nbsp;RecordCount =com.kecount();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><SPAN style="COLOR: #ff0000">&nbsp;&nbsp;&nbsp;//计算总共有多少页</SPAN><BR>&nbsp;&nbsp;&nbsp;if (RecordCount % PageSize == 0)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;PageCount = RecordCount / PageSize;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;PageCount = RecordCount / PageSize + 1;<BR>&nbsp;&nbsp;&nbsp;} </SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;this.TotalLbl.Text = PageCount.ToString();//<SPAN style="COLOR: #ff0000">显示总页数</SPAN><BR>&nbsp;&nbsp;&nbsp;ViewState["PageCount"] = PageCount;//<SPAN style="COLOR: #ff0000">会话session 对整个 application 有效 ，而视图状态 viewstate相当于某个页面的 session</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;this.DataListBind();</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;}<BR>&nbsp;&nbsp;public void DataListBind()<BR>&nbsp;&nbsp;{</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;string zhuang="zhuang";<BR>&nbsp;&nbsp;&nbsp;int StartIndex = CurrentPage * PageSize;<BR>&nbsp;&nbsp;&nbsp;if(StartIndex&lt;0)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;StartIndex=0;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet ds=com.kehu1(StartIndex,PageSize,zhuang);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;DataList1.DataSource=ds.Tables["zhuang"].DefaultView;<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;DataList1.DataBind();<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;this.PreviousLB.Enabled = true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;this.NextLB.Enabled = true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (CurrentPage == (PageCount - 1)) this.NextLB.Enabled = false;//<SPAN style="COLOR: #ff0000">当为最后一页时，下一页链接按钮不可用<BR></SPAN>&nbsp;&nbsp;&nbsp;&nbsp;if (CurrentPage == 0) this.PreviousLB.Enabled = false;//<SPAN style="COLOR: #ff0000">当为第一页时，上一页按钮不可用<BR></SPAN>&nbsp;&nbsp;&nbsp;&nbsp;this.CurrentLbl.Text = (CurrentPage + 1).ToString();//<SPAN style="COLOR: #ff0000">当前页数</SPAN><BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;private void DataList1_UpdateCommand_1(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;Response.Redirect("addkefu.aspx?type=2"+"&amp;id="+DataList1.DataKeys[e.Item.ItemIndex].ToString());<BR>&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;private void DataList1_DeleteCommand_1(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable url=com.kehusele(int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString())).Tables[0];</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;ViewState["name"]=Server.MapPath("..\\kehu\\"+url.Rows[0]["name"].ToString());</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;bool dele=com.delekehu(int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString()));<BR>&nbsp;&nbsp;&nbsp;if(dele==true)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write("&lt;script&gt;alert('删除成功!!!')&lt;/script&gt;");<BR>&nbsp;&nbsp;&nbsp;&nbsp;FileInfo finfo = new FileInfo(ViewState["name"].ToString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(finfo.Exists)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finfo.Delete();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;Response.Write("&lt;script&gt;alert('删除失败!!!')&lt;/script&gt;");<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;CalculateRecord();</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;DataListBind();<BR>&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;private void DataList1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//判断删除按扭<BR>&nbsp;&nbsp;&nbsp;&nbsp;Button Button2=(Button)e.Item.FindControl("Button2");<BR>&nbsp;&nbsp;&nbsp;&nbsp;Button2.Attributes.Add("onclick","return confirm('确定要删除吗??')");<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}</SPAN></P>
<P><SPAN style="COLOR: #000000">&nbsp;&nbsp;<BR>&nbsp;&nbsp;public String Imger1<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;get {return _imger1;}<BR>&nbsp;&nbsp;set {_imger1=value;}<BR>}</SPAN></P>
<P></FONT><SPAN style="COLOR: #000000"><BR>&nbsp;}<BR>}<BR><BR><SPAN style="COLOR: #ff0000">HTML<BR></SPAN></TD></TD><FONT face="Courier New">&lt;td&gt;&lt;FONT face="宋体" size="2"&gt;&lt;asp:linkbutton id="FirstLB" runat="server" OnCommand="LinkButton_Click" CommandName="first"&gt;第一页&lt;/asp:linkbutton&gt;&lt;asp:linkbutton id="PreviousLB" runat="server" OnCommand="LinkButton_Click" CommandName="prev"&gt;上一页&lt;/asp:linkbutton&gt;&lt;asp:linkbutton id="NextLB" runat="server" OnCommand="LinkButton_Click" CommandName="next"&gt;下一页&lt;/asp:linkbutton&gt;&lt;asp:linkbutton id="EndLB" runat="server" OnCommand="LinkButton_Click" CommandName="end"&gt;最后一页&lt;/asp:linkbutton&gt;共<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:label id="TotalLbl" runat="server" ForeColor="#FF8000"&gt;&lt;/asp:label&gt;页 当前第<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:label id="CurrentLbl" runat="server" ForeColor="#FF8000"&gt;&lt;/asp:label&gt;页<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:linkbutton id="JumpLB" runat="server" OnCommand="LinkButton_Click" CommandName="jump"&gt;跳到&lt;/asp:linkbutton&gt;第<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;asp:TextBox id="TextBox2" runat="server" Width="63px"&gt;&lt;/asp:TextBox&gt;页&lt;/FONT&gt;&lt;/td&gt;</FONT><BR></SPAN></P></SPAN></STRONG></FONT></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/20/1008056.html">2007-12-20 23:37</A> 风语战士 阅读(73) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/20/1008056.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1008056">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl07_TitleUrl href="/aspnet-sqlserver/archive/2007/12/20/1007851.html">.net安全防止写不规范字付</A> </DIV>
<DIV class=postcontent><FONT face="Courier New"><STRONG style="COLOR: red">输入时</STRONG><BR>public string TransString(string str)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;short temp=13;<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("'","’");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&amp;","&amp;amp;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&lt;","&amp;lt;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&gt;","&amp;gt;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace(" ","&amp;nbsp;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace(((char)temp).ToString(),"&lt;br&gt;"); <BR>&nbsp;&nbsp;&nbsp;return str;<BR>&nbsp;&nbsp;}<BR><SPAN style="COLOR: red"><STRONG>读取时.</STRONG></SPAN><BR>&nbsp;&nbsp;public string BackTransString(string str)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;short temp=13;<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("’","'");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&amp;amp;","&amp;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&amp;lt;","&lt;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&amp;gt;","&gt;");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&amp;nbsp;"," ");<BR>&nbsp;&nbsp;&nbsp;str=str.Replace("&lt;br&gt;",((char)temp).ToString()); <BR>&nbsp;&nbsp;&nbsp;return str;<BR>&nbsp;&nbsp;}</FONT> </DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/20/1007851.html">2007-12-20 20:34</A> 风语战士 阅读(14) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/20/1007851.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1007851">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl09_TitleUrl href="/aspnet-sqlserver/archive/2007/12/19/1005579.html">引用一个falsh使它显示出来</A> </DIV>
<DIV class=postcontent>
<P><FONT face="Courier New"><STRONG style="FONT-SIZE: 14pt; COLOR: #ff9900">&nbsp;&lt;PARAM NAME="WMode" VALUE="Transparent"&gt;&nbsp; 加入这个属性就可以显示出来了.</STRONG></FONT><PARAM value="5001" name="_cy" /><PARAM value="" name="FlashVars" /><PARAM value="images/feiniao1.swf" name="Movie" /><PARAM value="images/feiniao1.swf" name="Src" /><PARAM value="Transparent" name="WMode" /><PARAM value="-1" name="Play" /><PARAM value="-1" name="Loop" /><PARAM value="High" name="Quality" /><PARAM value="" name="SAlign" /><PARAM value="-1" name="Menu" /><PARAM value="" name="Base" /><PARAM value="" name="AllowScriptAccess" /><PARAM value="ShowAll" name="Scale" /><PARAM value="0" name="DeviceFont" /><PARAM value="0" name="EmbedMovie" /><PARAM value="" name="BGColor" /><PARAM value="" name="SWRemote" /><PARAM value="" name="MovieData" /><PARAM value="1" name="SeamlessTabbing" /><PARAM value="0" name="Profile" /><PARAM value="" name="ProfileAddress" /><PARAM value="0" name="ProfilePort" /><PARAM value="all" name="AllowNetworking" /><PARAM value="false" name="AllowFullScreen" /></P></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/19/1005579.html">2007-12-19 11:38</A> 风语战士 阅读(9) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/19/1005579.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1005579">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl11_TitleUrl href="/aspnet-sqlserver/archive/2007/12/19/1005527.html">删除成功后.添加前.可判断</A> </DIV>
<DIV class=postcontent><FONT face="Courier New"><BR><FONT style="COLOR: #ff0000" face="Courier New" color=#000080><STRONG>DataGrid1_DeleteCommand</STRONG></FONT> 写在这里<BR>if(this.DataGrid1.PageCount==1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataGrid1.CurrentPageIndex=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else if(this.DataGrid1.Items.Count%<SPAN style="COLOR: #ff0000">25</SPAN>==1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;DataGrid1.CurrentPageIndex--;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><SPAN style="COLOR: #000080"><BR>25 为变量,每一页的条数.<BR><FONT face="Courier New">PageCount</FONT> 总页数<BR><FONT face="Courier New">CurrentPageIndex</FONT> 显示当前页的索引<BR><FONT face="Courier New">DataGrid1.Items.Count</FONT> 获取总条数</SPAN> <BR><BR><FONT face="Courier New"><STRONG style="COLOR: #ff0000">DataGrid1_ItemDataBound 写在这里 在删除前判断是否删除</STRONG></FONT><BR><FONT face="Courier New">if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;LinkButton link=(LinkButton)e.Item.FindControl("LinkButton1");<BR>&nbsp;&nbsp;&nbsp;&nbsp;link.Attributes.Add("onclick","return confirm('您是否要删除此条记录!!!');");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR></FONT><FONT face="Courier New">FindControl</FONT> 获取引用控件的ID<BR>LinkButton 变量,也可以是Button <BR><BR><FONT face="Courier New">Button2.Attributes.Add("onclick","return confirm('确定要修改您信息吗？？？');");</FONT><BR><BR></FONT></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/19/1005527.html">2007-12-19 11:10</A> 风语战士 阅读(10) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/19/1005527.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1005527">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl13_TitleUrl href="/aspnet-sqlserver/archive/2007/12/19/1005511.html">弹出另一页面</A> </DIV>
<DIV class=postcontent><FONT face="Courier New"><STRONG style="FONT-SIZE: 14pt; COLOR: #008080">Response.Write("&lt;script language = javascript&gt;window.open('Login.aspx','_top')&lt;/script&gt;");</STRONG></FONT> </DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/12/19/1005511.html">2007-12-19 11:03</A> 风语战士 阅读(7) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/12/19/1005511.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=1005511">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl15_TitleUrl href="/aspnet-sqlserver/archive/2007/08/19/861462.html">(转)VS2005(c#)项目调试问题解决方案集锦</A> </DIV>
<DIV class=postcontent>
<P><FONT color=#ff00ff>1.检测到有潜在危险的 Request.Form 值</FONT></P>
<P>原因: </P>
<P>(1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置</P>
<P>(2)HTML里面写了两个&lt;form&gt;引起</P>
<P>解决: <BR>方案一： 在.aspx文件头中加入这句： &lt;%@ Page validateRequest="false"&nbsp; %&gt; <BR>方案二： 修改web.config文件:<BR>&nbsp;&lt;configuration&gt;<BR>&nbsp; &lt;system.web&gt; <BR>&nbsp; &lt;pages validateRequest="false" /&gt; <BR>&nbsp; &lt;/system.web&gt; <BR>&nbsp; &lt;/configuration&gt; <BR>因为validateRequest默认值为true。只要设为false即可。</P>
<P><FONT color=#ff00ff>2.“在没有任何数据时进行无效的读取尝试”</FONT>解决办法</P>
<P>原因：<BR>所返回的sqldatareader无数据记录，但没有作记录判断力处理。返回的是空值</P>
<P>加上判断即可： if (reader.read()) { TextName.Text = <BR>reader["FieldName"].ToString(); } </P>
<P><BR><FONT color=#ff00ff>3.数据为空。不能对空值调用此方法或属性。</FONT></P>
<P>原因:<BR>若对象是null，那么调用对象的方法例如ToString()肯定出错一般是数据库字段的值为空<BR>在grideview等数据控件常出现</P>
<P>解决:因此建议作NULL处理</P>
<P><FONT color=#ff00ff>4.阅读器关闭时 FieldCount 的尝试无效</FONT></P>
<P>原因:<BR>使用了SqlDataReader来绑定数据后,将connection对象作了Close()处理 <BR>类似 <BR>public SqlDataReader&nbsp;&nbsp; GetSomething()<BR>{&nbsp;&nbsp; <BR>conn.open();&nbsp; <BR>&nbsp;SqlDataReader&nbsp;&nbsp; reader = <BR>sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));&nbsp; <BR>&nbsp;conn.close();// occur error&nbsp;&nbsp; here&nbsp;&nbsp; <BR>&nbsp;return&nbsp;&nbsp; reader;&nbsp;&nbsp; <BR>&nbsp;} <BR>在绑定的时候调用了这个方法来指定数据源。如果使用这个方法则需要在调用函数中关闭Re <BR>ader这样conn就可以自动关闭。 </P>
<P>如果是使用的是SqlDataAdapter和DataSet那么请去掉显式关闭conn的调用。或者在finally <BR>中调用之。</P>
<P><FONT color=#ff00ff>5.未能映射路径</FONT></P>
<P>原因:可能是在webconfig中的路径配置不正确所致</P>
<P>&lt;add key="FCKeditor:BasePath" value="~/admin/fckeditor/"/&gt;</P>
<P>&lt;add key="FCKeditor:UserFilesPath" value="/UserFiles/" /&gt;</P>
<P><FONT color=#ff00ff>6.Unreachable code detected</FONT></P>
<P>&nbsp;原因：<BR>&nbsp;一般是在异常处理理或返回值时使用了 throw 或return ，可能是其位置放在前面，造成后面的代码执行到了。</P>
<P>解决：<BR>&nbsp;把相关的异常抛出处理的语句(throw）或return 的语句放到代理执行的最后一行。</P>
<P><BR><FONT color=#ff00ff>&nbsp;7.索引超出范围。必须为非负值并小于集合大小</FONT></P>
<P>&nbsp;原因：<BR>&nbsp;(1).没有设置DATAKEYFIELD设为数据库中相对应的唯一字段（一般是主键) <BR>&nbsp;<BR>&nbsp;(2).DataGrid1.Columns &gt; e.Item.Cells</P>
<P>解决：<BR>(1).设置datakeyfield</P>
<P>(2).加入判断语句datagrid1.item.count (datagrid可以是其它相类似的服务器控件)</P>
<P><FONT color=#ff00ff>8数据为空。</FONT>不能对空值调用此方法或属性</P>
<P><BR><FONT color=#ff00ff>9数据源不支持服务器端的数据分页。</FONT></P>
<P>解决方法:<BR>不要使用DataReader，改成使用DataSet：或使用自定义分页形式,不采用vs.net提供的分页功能</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet ds2 = new DataSet();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; da.Fill(ds2, "News");</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GridView1.DataSource = ds2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GridView1.DataBind();</P>
<P><BR><FONT color=#ff00ff>10.对象名'***** '无效</FONT></P>
<P>原因:当前使用的数据库中没有*****这张表</P>
<P>解决: 查看是否程序中是否写错了所调用的表的名称或看一下SQL数据库中是否存在你所调用的表</P>
<P><BR><FONT color=#ff00ff>11.在建立与服务器的连接时出错。</FONT>在连接到 SQL Server 2005 时，在默认的设置下 SQL <BR>&nbsp; Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, <BR>&nbsp; error: 40 - 无法打开到 SQL Server 的连接) </P>
<P>solution: 主机上需要用固定的IP地址或服务器地址</P>
<P><FONT color=#ff00ff>12.SqlDateTime 溢出。</FONT>必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM <BR>之间。</P>
<P><BR>出现这种问题``多半是因为你更新数据库时``datetime字段值为空``默认插入0001年01月01 <BR>日``造成datetime类型溢出</P>
<P><BR><FONT color=#ff00ff>13.出现-------表示“属性”，此处应为“方法”</FONT></P>
<P>原因: 1.VB与c#的方法,属性的格式有所不一样导致。 <BR>2.可能是在design中绑定数据的语法出现错误 解决: 1.记住属性用[] 方法用（） <BR>2.记住绑定数据的正确语法(有以下几种方式::&lt;%Container.DataItem(“字段名”)%&gt; &lt;% <BR>#Eval(“字段名”)%&gt; &lt;%Bind(“字段名”)%&gt;等)</P>
<P>&nbsp;</P>
<P><FONT color=#ff00ff>14.未能从程序集</FONT>“DAL, Version=1.0.0.0, Culture=neutral, <BR>PublicKeyToken=null”中加载类型“DAL.SqlHelper”。 </P>
<P>原因:修改了其他层后未能重新编译成dll</P>
<P>解决:编译一下(Rebuild)</P>
<P><FONT color=#ff00ff>15.为过程或函数 指定的参数太多,</FONT></P>
<P>solution:调用存储过程与定义的存储过程所用的参数数量或所执行的SQL语句中所传入的参 <BR>数个数不一致(这是个SQL的错误) <BR>解决方案:仔细检查在存储过程中所设定的参数变量,与实际输入的参数值是否一一对应</P>
<P><BR><FONT color=#ff00ff>16.无法启动调试，绑定句柄无效</FONT></P>
<P>原因:系统的Terminal&nbsp;&nbsp; Services没有开启</P>
<P><BR><FONT color=#ff00ff>17.Unable to debugging on the web server.Debug failed&nbsp; because integrated windows authentication is not enable</FONT></P>
<P>解决方法:</P>
<P>打开vs2005-&gt;工具(Tools)-&gt;选项(Option)-&gt;调试(debugging)-&gt;编辑并继续(Edit and Continue)-&gt;全部打勾</P>
<P><BR><FONT color=#ff00ff>18.Automation 操作中文件名或类名未找到: 'RegExp'</FONT> </P>
<P>解决方法:regsvr32 vbscript.dll</P>
<P><BR><FONT color=#ff00ff>19.System.NullReferenceException: 未将对象引用设置到对象的实例。</FONT> </P>
<P>原因:</P>
<P>(1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用datagrid或gridview或datalist等数据控件时出现.</P>
<P>(2)控件名称与codebehind里面的没有对应 </P>
<P>(3)未用new初始化对象</P>
<P>(4)在程序中所引用的控件不存在</P>
<P>解决方法:<BR>(1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值</P>
<P>(2)查看代码中是否存在未初始化的变量</P>
<P><FONT color=#ff00ff>20.错误 1718。文件被数字签名策略拒绝(安装vs2005sp1时)</FONT><BR>解决方法: </P>
<P>(1). 单击“开始”，单击“运行”，键入 control admintools，然后单击“确定”。 <BR>(2). 双击“本地安全策略”。 <BR>(3). 单击“软件限制策略”。(注意：如果未列出软件限制，请右击“软件限制策略”，然后单击“新建策略”。 )<BR>(4). 在“对象类型”下，双击“强制”。 <BR>(5). 单击“除本地管理员以外的所有用户”，然后单击“确定”。 <BR>(6). 重新启动计算机。 </P>
<P>微软说明：<BR><A href="http://support.microsoft.com/kb/925336"><FONT color=#758239>http://support.microsoft.com/kb/925336</FONT></A> </P>
<P><FONT color=#ff00ff>21.vs2005不能从源文件模式切换到视图模式</FONT></P>
<P>解决方法:dos下运行下 devenv /resetskippkgs (win+r cmd)</P>
<P><FONT color=#ff00ff>22.Validation of viewstate MAC failed</FONT><BR>解决办法:页面的顶部page加 EnableViewState="False" EnableViewStateMac = "False" 来解决这个问题</P>
<P><FONT color=#ff00ff>23.Automation server can't create object"(Automation 服务器不能创建对)</FONT></P>
<P>解决办法:运行: Regsvr32 scrrun.dll 即可。 </P>
<P><FONT color=#ff00ff>24.包加载失败</FONT></P>
<P>未能正确加载包"Visual Web Developer Trident Designer Package"(GUID =</P>
<P>{30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。</P>
<P>解决方法:<BR>1、设置系统变量 VsLogActivity=1</P>
<P>2、在%APPDATA%\Microsoft\VisualStudio\8.0\文件夹下创建文件ActivityLog.xml </P>
<P>Error</P>
<P>Microsoft Visual Studio</P>
<P>LoadLibrary failed for package [Visual Web Developer Trident Designer Package]</P>
<P>{30AE7E2B-6C02-496D-8E43-85F7A90AEFF1}</P>
<P>--------------------------------------------------------------------------------<BR>8007007e</P>
<P>c:\Program Files\Microsoft Visual Studio 8\Common7\Packages\tridsn.dll</P>
<P>&nbsp;</P>
<P>3、从 WINNT\MicroSoft.NET\Framework\v2.0.xxx 复制文件gdiplus.dll 到 Program Files\Visual Studio 8\Common7\Packages文件夹下</P>
<P>4、在命令行下运行命令 ：devenv /resetskippkgs </P>
<P><FONT color=#ff00ff>25.Error spawning 'cmd.exe'.</FONT><BR>解决方案:把cmd.exe 拷贝到VS安装目录下的VC/BIN目录里，可以解决问题。</P>
<P><FONT color=#ff00ff>26.尝试读取或写入受保护的内存</FONT> </P>
<P>解决:硬件有问题,一般内存有问题</P>
<P><FONT color=#ff00ff>27.无法在证书存储区中找到清单签名证书</FONT></P>
<P>解决方法:用记事本打开项目的.csproj文件，删除类似</P>
<P><FONT color=#ff00ff>28.该项目中不存在目标“ResolveKeySource”。</FONT>Project DefaultTargets="Build" xmlns="<A href="http://schemas.microsoft.com/developer/msbuild/2003"><FONT color=#758239>http://schemas.microsoft.com/developer/msbuild/2003</FONT></A>"&gt;</P>
<P>&lt;PropertyGroup&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TargetConnectionString&gt;Data Source=.\sql2005%3BUser &gt; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/PropertyGroup&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ItemGroup&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DatabaseProject Include="Database1\Database1.dbproj"/&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DatabaseProject Include="Database2\Database2.dbproj"/&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ItemGroup&gt;</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Target &gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MSBuild</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Properties="TargetConnectionString=$(TargetConnectionString)" </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Projects="@(DatabaseProject)"</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Targets="Build;Deploy"&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/MSBuild&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Target&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; (2)在命令提示中运行:msbuild /t:BuildAllDatabaseProjects TestBuild.xml</P>
<P>&nbsp;</P>
<P>&lt;/Project&gt;</P>
<P><FONT color=#ff00ff>29.不能将值 NULL 插入列 '**'</FONT></P>
<P>原因:这是数据库表设计的错误,所涉及的表的字段中设置了不能为空的属性,但是传入的值为null,所以报错</P>
<P>解决方法:查看是否所传入的值是否为Null,或修改数据库中表的所对应的列的属性</P>
<P><BR><FONT color=#ff00ff>30.未能加载类型"命名空间.类"...</FONT> </P>
<P>原因:<BR>(1)项目修改后没有进行编译<BR>(2)项目中原有的命名空间可能被修改了<BR>(3)项目中所需要的ascx或其他页面不存在,或不包含在项目中</P>
<P>解决方法:<BR>(1)在修改完成之后,请重新生成或编译整个项目或解决方案<BR>(2)手工修改所改动的命名空间,注意名称的大小写,再重新编译<BR>(3)将相关的文件包含在项目中</P>
<P><BR><FONT color=#ff00ff>31.不能访问只读文件“****.***"</FONT><BR>解决方案:<BR>给虚拟目录所对应的文件加上“Everyone/写入”权限即可</P>
<P><FONT color=#ff00ff>32.请求因 HTTP 状态 401 失败：Access Denied<BR></FONT>解决方法:在iis信息服务器上把匿名访问和允许iis控制密码给勾上</P>
<P><BR><BR>&nbsp;</P></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/08/19/861462.html">2007-08-19 10:15</A> 风语战士 阅读(122) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/08/19/861462.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=861462">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl17_TitleUrl href="/aspnet-sqlserver/archive/2007/08/18/860899.html">在ASP.NET中使用Session常见问题集锦 </A></DIV>
<DIV class=postcontent>
<P>在坛子里经常看到一些关于Session的问题，下面做一个总结，希望对大家有所帮助：</P>
<P>问：为什么Session在有些机器上偶尔会丢失？<BR>答：可能和机器的环境有关系，比如：防火墙或者杀毒软件等，尝试关闭防火墙。</P>
<P>问：为什么当调用Session.Abandon时并没有激发Session_End方法？<BR>答：首先Session_End方法只支持InProc（进程内的）类型的Session。其次要激发Session_End方法，必须存在Session（即系统中已经使用Session了），并且至少要完成一次请求（在这次请求中会调用该方法）。</P>
<P>问：为什么当我在InProc模式下使用Session会经常丢失？<BR>答：该问题通常是由于应用程序被回收导致的，因为当使用进程内Session时，Session是保存在aspnet_wp进程中，当该进程被回收Session自然也就没有了，确定该进程是否被回收可以通过查看系统的事件查看器获得信息。<BR>&nbsp;具体信息请参考：<BR>&nbsp;Session variables are lost intermittently in ASP.NET applications<BR>&nbsp;<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316148">http://support.microsoft.com/default.aspx?scid=kb;en-us;Q316148</A><BR>&nbsp;在1.0的时候也有一个bug会导致工作进程被回收并重启，该bug已经在1.1和sp2中修复。<BR>&nbsp;关于该bug的详细信息请参考：<BR>&nbsp;ASP.NET Worker Process (Aspnet_wp.exe) Is Recycled Unexpectedly. <BR>&nbsp;<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q321792">http://support.microsoft.com/default.aspx?scid=kb;en-us;Q321792</A></P>
<P>问：为什么当Session超时或者Abandoned后，新Session的ID和原来的相同？<BR>答：因为SessionID是保存在客户端浏览器的实例里，当Session超时在服务器重新建立Session时，将使用浏览器传来的SessionID，所以当Session超时后，再重新建立后SessionID并不变。</P>
<P>问：为什么每次请求的SessionID都不相同？<BR>答：该问题可能是没有在Session里面保存任何信息引起的，即程序中任何地方都没有使用Session。当Session中保存信息之后SessionID将一直和浏览器相关，此时的SessionID将不会在变化。</P>
<P>问：ASP和ASP.NET之间是否可以共享Session？<BR>答：可以。但是这是一个比较复杂的过程，微软提供了官方的解决方案，请参考：<A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ConvertToASPNET.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ConvertToASPNET.asp</A></P>
<P>问：什么类型的对象可以保存在Session里？<BR>答：这依赖使用的Session的模式，当使用的是进程内（InProc）的Session那么可以轻松的保存任何对象。如果你使用了非InProc的模式，则只能保存可以序列化和反序列化的对象，如果此时保存的对象不支持序列化，则不能保存到这种模式（非InProc）的Session里。</P>
<P>问：为什么在Session_End中不能使用Response.Redirect和Server.Transfer方法跳转页面？<BR>答：Session_End是一个在服务器内部激发的事件处理函数。它是基于一个服务器内部的计时器的，在激发该事件时服务器上并没有相关的HttpRequest对象，因此此时并不能使用Response.Redirect和Server.Transfer方法。</P>
<P>问：在Session_End中是否可以获得HttpContext对象？<BR>答：不行，因为这个事件并没有和任何的请求（Request）相关联，没有基于请求的上下文。</P>
<P>问：在Web Service中该如何使用Session？<BR>答：为了在Web Service中使用Session，需要在Web Service的调用方做一些额外的工作，必须保存和存储调用Web Service时使用的Cookie。详细信息请参考MSDN文档的HttpWebClientProtocol.CookieContainer属性。然而，如果你使用代理服务器访问Web Service由于框架的限制，两者不能共享Session。</P>
<P>问：在自定义自己的HttpHandler的时候，为什么不能使用Session？<BR>答：在实现自己的HttpHandler的时候，如果希望使用Session必须实现下面的两个标记接口中的一个：IRequiresSessionState和IReadOnlySessionState，这些接口没有任何方法需要实现，只是一个标记接口和使用INamingContainer接口的方法一样。</P>
<P>问：当我使用webfarm时，当我重定向到其他的Web服务器时Session为什么会丢失？<BR>答：详细信息请参考：<BR>&nbsp;PRB: Session State Is Lost in Web Farm If You Use SqlServer or StateServer Session Mode<BR>&nbsp;<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;325056">http://support.microsoft.com/default.aspx?scid=kb;en-us;325056</A></P>
<P>问：为什么我的Session在Application_OnAcquireRequestState方法中无效？<BR>答：Session只有在HttpApplication.AcquireRequestState事件调用以后才会有效。<BR>&nbsp;详细信息请参考：<BR>&nbsp;<A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhandlingpublicevents.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhandlingpublicevents.asp</A> </P>
<P>问：如果使用了cookieless，我该如何从HTTP页面定向到HTTPS？<BR>答：请尝试下面的方法：<BR>&nbsp;String originalUrl = "/fxtest3/sub/foo2.aspx"; <BR>&nbsp;String modifiedUrl = "<A href="https://localhost/">https://localhost</A>" + Response.ApplyAppPathModifier(originalUrl); <BR>&nbsp;Response.Redirect(modifiedUrl);</P>
<P>问：Session在global.asax中的那些事件中有效？<BR>答：Session只有在AcquireRequestState事件之后有效，该事件之后的事件都可以使用Session。</P>
<P><BR>问：如何获得当前Session中保存的所有对象？<BR>答：可以通过遍历所有的Session.Keys来获得。代码如下：<BR>ArrayList sessionCollection = new ArrayList();<BR>foreach (string strKey in Session.Keys){ <BR>&nbsp;&nbsp;sessionCollection.Add(Session[strKey]);<BR>} <BR>&nbsp;<BR>问：是否可以在不同的应用程序中共享Session？<BR>答：不能直接共享。可以参考如何在ASP和ASP.NET之间共享Session。</P>
<P>问：Session.Abandon和Session.Clear有何不同？<BR>答：主要的不同之处在于当使用Session.Abandon时，会调用Session_End方法（InProc模式下）。当下一个请求到来时将激发Session_Start方法。而Session.Clear只是清除Session中的所有数据并不会中止该Session，因此也不会调用那些方法。<BR>&nbsp;<BR>问：为了可以顺序访问Session的状态值，Session是否提供了锁定机制？<BR>答：Session实现了Reader/Writer的锁机制：<BR>&nbsp;当页面对Session具有可写功能（即页面有&lt;%@ Page EnableSessionState="True" %&gt;标记），此时直到请求完成该页面的Session持有一个写锁定。<BR>&nbsp;当页面对Session具有只读功能（即页面有&lt;%@ Page EnableSessionState="ReadOnly" %&gt;标记），此时知道请求完成该页面的Session持有一个读锁定。<BR>&nbsp;读锁定将阻塞一个写锁定；读锁定不会阻塞读锁定；写锁定将阻塞所有的读写锁定。这就是为什么两个框架中的同一个页面都去写同一个Session时，其中一个要等待另一个（稍快的那个）完成后，才开始写。</P>
<P>问：Session平滑超时意味着什么？<BR>答：Session平滑超时意味着只要你的页面访问（使用）了Session，超时时间将被刷新（可以理解为重新计时），即从该页面请求开始，将重新计算超时时间。但是，该页面不能禁用Session。它会自动的访问当前页面的Session，刷新超时时间。<BR>&nbsp;<BR>问：在global.asax中的事件处理函数中Session为什么无效？<BR>答：依赖于在哪个事件处理函数中使用Session，Session在AcquireRequestState事件之后才有效，该事件之后的所有事件处理函数都可以使用Session，之前的则不能。</P>
<P>问：当我写一个依赖于当前应用的Session的组件时，为什么不能直接使用Session["Key"]获得其值？<BR>答：Session["Key"]实际上是this.Session["Key"]，它是作为Page的一个属性提供的，所以在你的组件中不能直接使用这个属性。你可以通过下面的方式使用Session：<BR>&nbsp;HttpContext.Current.Session["Key"] = "My Seesion Value"; </P>
<P>问：当我使用InProc模式保存Session时，此时的Session是保存在哪里？<BR>答：不同的IIS的处理方式不同，<BR>&nbsp;当使用的是IIS5的时候Session是保存在aspnet_wp.exe的进程空间里的。<BR>&nbsp;当使用的是IIS6时，默认情况下所有的应用程序共享应用程序池，Session保存在w3wp.exe的进程空间中。</P>
<P>问：Session的超时设置是分钟还是秒？<BR>答：是分钟，默认为20分钟。</P>
<P>问：当页面出现错误后我的Session是否将被保存？我需要在Session_End中处理一些清理工作，但是失败了，为什么？<BR>答：Session_End只有在Session运行在InProc模式下才会被执行。Session_End使用的帐号是运行aspnet_wp工作进程的帐号（这个可以在machine.config中设置）。因此，如果在Session_End方法里，使用集成安全性链接到SQL，它将使用aspnet_wp进程的帐号打开链接，此时成功与否则依赖于你的SQL的安全性设置。<BR>&nbsp;<BR>问：为什么当我设置cookieless为true是我在重定向的时候会丢失Session？<BR>答：当使用cookieless时，你必须使用相对路径替换程序中的绝对路径，如果使用绝对路径ASP.NET将无法在URL中保存SessionID。<BR>&nbsp;例如：将\myDir\mySubdir\default.aspx换成..\default.aspx即可。</P>
<P>问：如何将SortedList存储到Session或者Cache里？<BR>答：请参考下面的方法：<BR>&nbsp;SortedList x = new SortedList(); <BR>&nbsp;x.Add("Key1", "ValueA"); <BR>&nbsp;x.Add("Key2", "ValueB"); <BR>&nbsp;保存到Session中: <BR>&nbsp;Session["SortedList1"] = x; <BR>&nbsp;使用下面方法获得之：<BR>&nbsp;SortedList y = (SortedList) Session["SortedList1"]; <BR>&nbsp;Chahe则同理。<BR>&nbsp;<BR>问：我为什么会获得这样的错误信息“Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive”？<BR>答：这个问题可能在一个已经安装了Microsoft Visual Studio .NET开发环境的机器上，再安装Window Sharepoint Server（WSS）后出现。<BR>&nbsp;WSS ISAPI过滤器会处理所有的请求。当你通过虚拟目录浏览一个ASP.NET的应用程序时，ISAPI过滤器不会给文件夹目录分配URL。<BR>&nbsp;解决方法是：不要再安装了WSS的机器上使用Session。<BR>&nbsp;详细信息请参考：<BR>&nbsp;Session state cannot be used in ASP.NET with Windows SharePoint Services<BR>&nbsp;<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;837376">http://support.microsoft.com/default.aspx?scid=kb;en-us;837376</A></P>
<P>问：如何删除Session变量？<BR>答：想要删除Session变量可以使用HttpSessionState.Remove()方法。<BR>&nbsp;<BR>问：是否有办法知道应用程序的Session在运行时占用了多少内存？<BR>答：没有。目前这个值时无法考证的，至少我现在还没有看到这方面的资料。但是可以通过性能监视器以及程序代码大概估算出来一个值。<BR>&nbsp;<BR>问：当页面中是否了frameset，发现在每个frame中显示页面的SessionID在第一次请求时都不相同，为什么？<BR>答：原因是你的frameset是放在一个htm页面上而不是ASPX页面。<BR>&nbsp;在一般情况下，如果frameset是aspx页面，当你请求页面时，它首先将请求发送到Web服务器，此时已经获得了SessionID，接着浏览器会分别请求Frame中的其他页面，这样所有页面的SessionID就是一样的，就是FrameSet页面的SessionID。<BR>&nbsp;然而如果你使用Html页面做FrameSet页面，第一个请求将是HTML页面，当该页面从服务器上返回是并没有任何Session产生，接着浏览器会请求Frame里面的页面，这样这些页面都会产生自己的SessionID，所以在这种情况下就会出现这种问题。当你重新刷新页面时，SessionID就会一样，并且是最后一个请求页面的SessionID。<BR>&nbsp;<BR>问：是否可以将不同应用程序的Session保存在相同的SQL Server服务器的不同数据库上。<BR>答：可以，请参考：<BR>&nbsp;FIX: Using one SQL database for all applications for SQL Server session state may cause a bottleneck<BR>&nbsp;<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;836680">http://support.microsoft.com/default.aspx?scid=kb;en-us;836680</A></P>
<P>问：在Session_End是我是否可以获得有效的HttpSessionState和HttpContext对象？<BR>答：你可以在这个方法中获得HttpSessionState对象，可以直接使用Session来访问即可。但是不能获得HttpContext对象，因为该事件并没有和任何请求相关联，因此不存在上下文对象。</P>
<P>问：在SQLServer模式下使用Session，为什么我的Session不过期？<BR>答：在SqlServer模式下，Session的过期是通过SQL Agent的注册工作完成的，请检查你的SQL Agent是否运行？<BR>&nbsp;<BR>问：当我设置EnableSessionState为“ReadOnly”后，但是我在InProc模式下依然可以修改Session的值，这是为什么？<BR>答：即使EnableSessionState标示为ReadOnly，但是在InProc模式下用户依然可以编辑Session。唯一不同的是，在请求过程中Session将不会被锁住。</P>
<P>问：我如何才能避免在链接SQL时指定密码？<BR>答：使用信任链接或者使用加密的链接串。有关这方面的详细信息请参考：<BR>&nbsp;How To Use the ASP.NET Utility to Encrypt Credentials and Session State Connection Strings <BR>&nbsp;<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;329290">http://support.microsoft.com/default.aspx?scid=kb;en-us;329290</A></P>
<P>问：我在我自己的类中该如何使用Session呢？<BR>答：可以使用HttpContext.Current.Session方式使用，具体方法如下：<BR>&nbsp;HttpContext.Current.Session["SessionKey"] = "SessionValue"; <BR>&nbsp;类似的你还可以使用这种方式使用Application对象。<BR>&nbsp;</P>
<P>问：为什么在切换成SQLServer模式后我的请求被挂起了？<BR>答：检查在Session里面是否都保存的是可以保存在SQLServer模式下的对象，即这些对象必须支持序列化。<BR>&nbsp;</P>
<P>问：当Session设置成cookieless后会有什么影响？<BR>答：当把cookieless设置成true时，主要会有下面的约束：<BR>&nbsp;1、在页面中不能使用绝对链接<BR>&nbsp;2、在应用程序中在除了Http和Https之间的切换时需要完成一些其他的步骤。<BR>&nbsp;如果发送一个链接给其他人，此时的URL里面将包含Session ID的信息，所以两个人将公用一个Session。</P>
<P>问：是否可以将Session保存在数据库中？<BR>答：当然可以，详细信息请参考：<A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;311209">http://support.microsoft.com/default.aspx?scid=kb;en-us;311209</A> </P><BR></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/08/18/860899.html">2007-08-18 14:24</A> 风语战士 阅读(44) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/08/18/860899.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=860899">编辑</A> </DIV></DIV>
<DIV class=seperator>&nbsp;</DIV>
<DIV class=post>
<DIV class=posttitle><A id=homepage1_HomePageDays_ctl00_DayList_ctl19_TitleUrl href="/aspnet-sqlserver/archive/2007/08/18/860900.html">常用正则表达式</A> </DIV>
<DIV class=postcontent>正则表达式用于字符串处理、表单验证等场合，实用高效。现将一些常用的表达式收集于此，以备不时之需。<BR>
<P>匹配中文字符的正则表达式： [\u4e00-\u9fa5]<BR>评注：匹配中文还真是个头疼的事，有了这个表达式就好办了</P>
<P>匹配双字节字符(包括汉字在内)：[^\x00-\xff]<BR>评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）</P>
<P>匹配空白行的正则表达式：\n\s*\r<BR>评注：可以用来删除空白行</P>
<P>匹配HTML标记的正则表达式：&lt;(\S*?)[^&gt;]*&gt;.*?&lt;/\1&gt;|&lt;.*? /&gt;<BR>评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力</P>
<P>匹配首尾空白字符的正则表达式：^\s*|\s*$<BR>评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式</P>
<P>匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<BR>评注：表单验证时很实用</P>
<P>匹配网址URL的正则表达式：[a-zA-z]+://[^\s]*<BR>评注：网上流传的版本功能很有限，上面这个基本可以满足需求</P>
<P>匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$<BR>评注：表单验证时很实用</P>
<P>匹配国内电话号码：\d{3}-\d{8}|\d{4}-\d{7}<BR>评注：匹配形式如 0511-4405222 或 021-87888822</P>
<P>匹配腾讯QQ号：[1-9][0-9]{4,}<BR>评注：腾讯QQ号从10000开始</P>
<P>匹配中国邮政编码：[1-9]\d{5}(?!\d)<BR>评注：中国邮政编码为6位数字</P>
<P>匹配身份证：\d{15}|\d{18}<BR>评注：中国的身份证为15位或18位</P>
<P>匹配ip地址：\d+\.\d+\.\d+\.\d+<BR>评注：提取ip地址时有用</P>
<P>匹配特定数字：<BR>^[1-9]\d*$　 　 //匹配正整数<BR>^-[1-9]\d*$ 　 //匹配负整数<BR>^-?[1-9]\d*$　　 //匹配整数<BR>^[1-9]\d*|0$　 //匹配非负整数（正整数 + 0）<BR>^-[1-9]\d*|0$　　 //匹配非正整数（负整数 + 0）<BR>^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$　　 //匹配正浮点数<BR>^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$　 //匹配负浮点数<BR>^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$　 //匹配浮点数<BR>^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）<BR>^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$　　//匹配非正浮点数（负浮点数 + 0）<BR>评注：处理大量数据时有用，具体应用时注意修正</P>
<P>匹配特定字符串：<BR>^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串<BR>^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串<BR>^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串<BR>^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串<BR>^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串<BR>评注：最基本也是最常用的一些表达式</P>
<P>原载地址：http://lifesinger.3322.org/myblog/?p=185</P></DIV>
<DIV class=itemdesc>posted @ <A title=permalink href="/aspnet-sqlserver/archive/2007/08/18/860900.html">2007-08-18 14:24</A> 风语战士 阅读(20) | <A title="comments, pingbacks, trackbacks" href="/aspnet-sqlserver/archive/2007/08/18/860900.html#FeedBack">评论 (0)</A> |&nbsp;<A href="/aspnet-sqlserver/admin/EditPosts.aspx?postid=860900">编辑</A> </DIV></DIV><img src ="http://www.cnblogs.com/bullion/aggbug/1216887.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41952/" target="_blank">[新闻]十月上市 Google手机HTC Dream官方图现</a>]]></description></item><item><title>[转载]教你在C#中WebBrowser的使用</title><link>http://www.cnblogs.com/bullion/archive/2008/06/01/1211571.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Sun, 01 Jun 2008 05:08:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/06/01/1211571.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1211571.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/06/01/1211571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1211571.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1211571.html</trackback:ping><description><![CDATA[&nbsp; 其实网络上这类文章很多，我大致从头说说我自己的经验。<BR>1、加入引用<BR>　　在控件栏按右键，选择“添加/移除项”，选COM组件，选中“Microsoft Web Browser”。然后就可以往窗体上拖出一个该控件（下面把该控件一个对象称为webBrowser）。控件属性中可以调整的不多，从一些资料中得知WebBrowser中的MenuBar、StatusBar等其实都没实现。<BR><BR>2、控件的函数<BR>　　由于是COM过来的控件，它的一些函数就比较怪，基本的Navigate函数除了第一个参数外，其它都是ref类型的，需要显式地写ref才能调用。一般要使之导向到某个页面，先设置一个空对象，object objNull=null;然后<BR>webBrowser.Navigate(strPage, ref objNull, ref objNull, ref objNull, ref objNull);<BR>即可。具体其它四个参数可参考相关文档。<BR>　　还有一个常用的功能，就是怎么让浏览器显示自己的html文档，一个方法是用DOM里根元素的innerText：<BR>　　((mshtml.HTMLDocumentClass)webBrowser.Document).documentElement.innerText=sHTML;<BR>　　相当用于Javascript设置网页的代码。这种方法方便是方便，但是有很多问题，写入的大部分Javascript函数都没法正常使用，即使用&lt;script defer&gt;似乎也没用；这样不能用前进、后退来进行历史浏览；查看源代码根本看不到什么……其实最致命的就是　Javascript没法用，无法满足一般的需要。<BR>　　第二个方法是把自己的网页写到一个临时文件，然后navigate到这个文件，Foxmail是这样做的。这样做的缺点是会产生很多临时文件，文件在磁盘上的读写需要耗费较多时间，而且要记得及时清理。<BR>　　第三个方法是用COM中IPersistStreamInit之类的，使用流操作，据说Outlook便是这样做的。这样显然是最好的，在内存中形成网页进行操作速度也很快。但我在.Net里找不到这个接口，所以不知道如何实现。<BR><BR>3、与应用程序交互<BR>　　网页与应用程序的交互不外乎是网页上点击某链接，或通过其它途径，比如表单提交等，使浏览器导航至新的链接，所以我通过BeforeNavigate2这个事件来，该事件有flags、headers、postData、targetFrameName、uRL等属性，足够我们进行处理。这样我们程序就好像一个WebServer，可以处理网页上的链接、提交的表单等等。然后把使浏览器导航至处理后产生的结果网页。<BR>　　又在网上看到有人用System.Runtime.InteropServices.Expando.IExpando：<BR>　　mshtml.HTMLDocumentClass doc2=(mshtml.HTMLDocumentClass)webBrowser.Document;<BR>　　System.Runtime.InteropServices.Expando.IExpando ex=(System.Runtime.InteropServices.Expando.IExpando)doc2;<BR>　　System.Reflection.PropertyInfo piform1=ex.AddProperty("Form1");<BR>　　piform1.SetValue(doc2,this,null);<BR>　　这样，在网页中的document.Form1就是这个WinForm的Control了。你可以用脚本来调用Form1！这也不失为一个极妙的方法。<BR><BR>4、应用程序操作浏览器/网页：<BR>　　WebBrowser浏览器控件提供了一些函数，如ExecWB，可以使浏览器执行内部定义的一些操作，如执行另存为：<BR>　　webBrowser.ExecWB( SHDocVw.OLECMDID.OLECMDID_SAVEAS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref objNull, ref objNull );<BR>　　但似乎这里按取消的话会抛出一个异常，所以我用一个空的try{}catch(Exception){}来捕获它，就不会有错误了。<BR>　　还可以用DOM里的一些方法来操作网页，举个例子，可以这样调用网页中写好的一个Javascript函数func()：<BR>　　((mshtml.HTMLDocumentClass)webBrowser.Document.DomDocument).parentWindow.execScript( "func()", "JScript" );<BR>webBrowser1.Document.InvokeScript("__doPostBack", new object[] { "PageBar","2" });<BR>暂时就这样，比较常用的也就是这些了。其它的就让我们在继续使用中慢慢琢磨体会吧。<BR><BR>原文：<A href="http://www.it300.net/Contents.asp?id=135">http://www.it300.net/Contents.asp?id=135</A><img src ="http://www.cnblogs.com/bullion/aggbug/1211571.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41951/" target="_blank">[新闻]2008年8月29日IT博客精选</a>]]></description></item><item><title>asp上传大文件配置</title><link>http://www.cnblogs.com/bullion/archive/2008/05/22/1204562.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Thu, 22 May 2008 02:15:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/05/22/1204562.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1204562.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/05/22/1204562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1204562.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1204562.html</trackback:ping><description><![CDATA[<P>ASP 0104 : 80004005 <BR>问题：WIN2003无法上传较大的文件“Request 对象 错误 \’ASP 0104 : 80004005\’<BR>解决方案：<BR>1.先打开IIS管理器：</P>
<P>2.关闭iis admin service服务 <BR>找到windows\\system32\\inesrv\\下的metabase.xml, <BR>打开，找到ASPMaxRequestEntityAllowed 把他修改为需要的值，<BR>默认为204800，即200K，把它修改为20480000（20M）。<BR>然后重启iis admin service服务</P>
<P><BR>二、解决ASP无组件上传错误：Request 对象 错误 'ASP 0104 : 80004005' 不许操作---2003 server</P>
<P>症状:<BR>上传文件到 Windows 2003 server + IIS 6.0 服务器的时候遇到下列错误:<BR>请求对象错误 'ASP 0104 : 80004005' <BR>操作被禁止<BR>/Upload.asp, line 40</P>
<P>原因:<BR>IIS6.0 禁止上传超过 200kB 的文件. 因此你需要修改 IIS 的默认设置.</P>
<P>技术背景<BR>在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求(Request)可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息. <BR>这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值.</P>
<P>解决方法<BR>打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 51200000, 50MB).</P>
<P>注意: 在编辑文件前如果没有停止 IIS 服务, 则无法保存修改后的文件</P>
<P>若你想在iis运行的时候修改其配置文件，则打开iis管理器，打开internet信息服务属性面板，钩选“允许直接编辑配置数据库，允许在iis运行时编辑iis配置数据库配置文件”<BR></P><img src ="http://www.cnblogs.com/bullion/aggbug/1204562.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41950/" target="_blank">[新闻]微软在华布局农村手机 定位小城镇和打工者</a>]]></description></item><item><title>asp gb2312Toutf8函数</title><link>http://www.cnblogs.com/bullion/archive/2008/04/17/1158392.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Thu, 17 Apr 2008 08:55:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/04/17/1158392.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1158392.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/04/17/1158392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1158392.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1158392.html</trackback:ping><description><![CDATA[<P>&nbsp; Function GBtoUTF8(szInput) <BR>Dim wch, uch, szRet <BR>Dim x <BR>Dim nAsc, nAsc2, nAsc3 </P>
<P>'如果输入参数为空，则退出函数 <BR>If szInput = "" Then <BR>GBtoUTF8= szInput <BR>Exit Function <BR>End If </P>
<P>'开始转换 <BR>For x = 1 To Len(szInput) <BR>wch = Mid(szInput, x, 1) <BR>nAsc = AscW(wch) </P>
<P>If nAsc &lt; 0 Then nAsc = nAsc + 65536 </P>
<P>If (nAsc And &amp;HFF80) = 0 Then <BR>szRet = szRet &amp; wch <BR>Else <BR>If (nAsc And &amp;HF000) = 0 Then <BR>uch = "%" &amp; Hex(((nAsc \ 2 ^ 6)) Or &amp;HC0) &amp; Hex(nAsc And &amp;H3F Or &amp;H80) <BR>szRet = szRet &amp; uch <BR>Else <BR>uch = "%" &amp; Hex((nAsc \ 2 ^ 12) Or &amp;HE0) &amp; "%" &amp; _ <BR>Hex((nAsc \ 2 ^ 6) And &amp;H3F Or &amp;H80) &amp; "%" &amp; _ <BR>Hex(nAsc And &amp;H3F Or &amp;H80) <BR>szRet = szRet &amp; uch <BR>End If <BR>End If <BR>Next </P>
<P>GBtoUTF8= szRet <BR>End Function</P><img src ="http://www.cnblogs.com/bullion/aggbug/1158392.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41949/" target="_blank">[新闻]暴雪确认《星际争霸2》将不会在08年内发售</a>]]></description></item><item><title>javascript gb2312ToUtf8编码</title><link>http://www.cnblogs.com/bullion/archive/2008/04/17/1158383.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Thu, 17 Apr 2008 08:53:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/04/17/1158383.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1158383.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/04/17/1158383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1158383.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1158383.html</trackback:ping><description><![CDATA[&lt;script type="text/javascript"&gt;<BR>function EncodeUtf8(s1)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var s = escape(s1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sa = s.split("%");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var retV ="";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sa[0] != "")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retV = sa[0];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i = 1; i &lt; sa.length; i ++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sa[i].substring(0,1) == "u")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5))) + sa[i].substring(5,sa[i].length);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else retV += "%" + sa[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return retV;<BR>&nbsp; }<BR>&nbsp; function Str2Hex(s)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var c = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var n;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var ss = "0123456789ABCDEF";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var digS = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i = 0; i &lt; s.length; i ++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c = s.charAt(i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n = ss.indexOf(c);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digS += Dec2Dig(eval(n));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //return value;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return digS;<BR>&nbsp; }<BR>&nbsp; function Dec2Dig(n1)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var s = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var n2 = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i = 0; i &lt; 4; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n2 = Math.pow(2,3 - i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(n1 &gt;= n2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s += '1';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n1 = n1 - n2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s += '0';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return s;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp; }<BR>&nbsp; function Dig2Dec(s)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var retV = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length == 4)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i = 0; i &lt; 4; i ++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return retV;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;<BR>&nbsp; } <BR>&nbsp; function Hex2Utf8(s)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; var retS = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp; var tempS = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp; var ss = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(s.length == 16)<BR>&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempS = "1110" + s.substring(0, 4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempS += "10" +&nbsp; s.substring(4, 10); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tempS += "10" + s.substring(10,16); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sss = "0123456789ABCDEF";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i = 0; i &lt; 3; i ++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retS += "%";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ss = tempS.substring(i * 8, (eval(i)+1)*8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retS += sss.charAt(Dig2Dec(ss.substring(0,4)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retS += sss.charAt(Dig2Dec(ss.substring(4,8)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return retS;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; return "";<BR>&nbsp; } <BR>document.write(EncodeUtf8("D 阿尔贝蒂尼"));<BR>&lt;/script&gt;<img src ="http://www.cnblogs.com/bullion/aggbug/1158383.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41949/" target="_blank">[新闻]暴雪确认《星际争霸2》将不会在08年内发售</a>]]></description></item><item><title>INSERT 失败，因为下列 SET 选项的设置不正确: 'ARITHABORT'</title><link>http://www.cnblogs.com/bullion/archive/2008/04/17/1158378.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Thu, 17 Apr 2008 08:52:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/04/17/1158378.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1158378.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/04/17/1158378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1158378.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1158378.html</trackback:ping><description><![CDATA[<P>INSERT 失败，因为下列 SET 选项的设置不正确: 'ARITHABORT'</P>
<P>当你在SQL Server上试图更新一个索引视图引用的表时,你可能回收到如下有错误</P>
<P>INSERT 失败，因为下列 SET 选项的设置不正确: 'ARITHABORT'</P>
<P>你必须在TSQL前Set ARITHABORT ON,代码如下</P>
<P>Set ARITHABORT ON<BR>GO<BR>INSERT INTO ta ..<BR>在ADO中,你可以这样来写(VB代码)</P>
<P>MyConnection.Execute "SET ARITHABORT ON"<BR>如果以上你都觉得很麻烦或由于一些原因没法更改,你可以尝试修改SQL Server服务器选项</P>
<P>exec sp_dboption 'yourdb','ARITHABORT','true'<BR>还可以</P>
<P>ALTER DATABASE yourdb <BR>SET ARITHABORT ON</P><img src ="http://www.cnblogs.com/bullion/aggbug/1158378.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41949/" target="_blank">[新闻]暴雪确认《星际争霸2》将不会在08年内发售</a>]]></description></item><item><title>Cookie跨域、虚拟目录， 实现通行证登录</title><link>http://www.cnblogs.com/bullion/archive/2008/03/19/cookie.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Wed, 19 Mar 2008 08:30:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2008/03/19/cookie.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/1113372.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2008/03/19/cookie.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/1113372.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/1113372.html</trackback:ping><description><![CDATA[<P>Cookie有三个属性需要注意一下：<BR>1. Domain&nbsp; 域<BR>2. Path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 路径<BR>3. Expires&nbsp; 过期时间<BR><BR>跨域操作需要设置域属性:<BR>Response.Cookies("MyCookie").Domain = "cnblogs.com"; (这里指的是泛域名)<BR>这样在其它二级域名下就都可以访问到了， ASP 和 ASP.NET 测试通过<BR><BR>虚拟目录下访问：<BR>我在ASP端做了下测试，.NET的没试,&nbsp; 如果不指定Path属性， 不同虚拟目录下Cookie无法共享<BR>将Response.Cookies("MyCookie").Path = "/" 就可以了<BR><BR>总的写法:<BR>Response.Cookies("MyCookie").Domain = "cnblogs.com";<BR>Response.Cookies("MyCookie").Path = "/"<BR>Response.Cookies("MyCookie").Expires = Now + 365;<BR>Response.Cookies("MyCookie")("Test") = "test";<BR><BR>.NET 清除Cookie<BR>HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[cookiename];<BR>if (cookie != null)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Values.Clear();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetUserCookieExpireTime(cookiename, -1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Domain = _domain;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Web.HttpContext.Current.Response.Cookies.Set(cookie);<BR>&nbsp;}<BR>public static void SetUserCookieExpireTime(string key, int days)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Web.HttpContext.Current.Response.Cookies[key].Domain = _domain;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Web.HttpContext.Current.Response.Cookies[key].Path = _cookiepath;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Web.HttpContext.Current.Response.Cookies[key].Expires = DateTime.Now.AddDays(days);<BR>}<BR>.NET 添加/更新Cookie<BR>public static void AddUserCookies(string key,string value, string cookiename, string domain)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[cookiename];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (cookie == null)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie = new HttpCookie(cookiename);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Domain = domain;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Path = _cookiepath;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Values.Add(key, value);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpContext.Current.Response.AppendCookie(cookie);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (System.Web.HttpContext.Current.Request.Cookies[cookiename].Values[key] != null)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Values.Set(key, value);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Domain = domain;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Path = _cookiepath;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie.Values.Add(key, value);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpContext.Current.Response.AppendCookie(cookie);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>}<BR><BR>这种写法实现cookie跨域跨目录， 有不足之处望指正</P><img src ="http://www.cnblogs.com/bullion/aggbug/1113372.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41948/" target="_blank">[新闻]福布斯:IE8很多功能针对谷歌 微软要玩偷袭</a>]]></description></item><item><title>有谁用过微软的URLRewriter(URL重写)???? 好奇怪的问题啊, 无法找到网页????</title><link>http://www.cnblogs.com/bullion/archive/2007/03/31/695400.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Sat, 31 Mar 2007 13:11:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2007/03/31/695400.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/695400.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2007/03/31/695400.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/695400.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/695400.html</trackback:ping><description><![CDATA[好奇怪的问题啊,我用微软的URLRewriter(URL重写)本地测试没问题<br><br>实现的效果: <a href="http://blog.test.com/bullion">http://blog.test.com/bullion</a>&nbsp; 其中blog.test.com是二级域名, 域名商提供的, 我想实现就是后半部分, 在本地调试没问题, 但放在服务器就提示 "无法找到该页"...., 不知道这是为什么....<img src ="http://www.cnblogs.com/bullion/aggbug/695400.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41947/" target="_blank">[新闻]施密特：谷歌计划十月份开始推进与雅虎合作</a>]]></description></item><item><title>MySQL笔记</title><link>http://www.cnblogs.com/bullion/archive/2007/03/10/669846.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Fri, 09 Mar 2007 16:08:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2007/03/10/669846.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/669846.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2007/03/10/669846.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/669846.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/669846.html</trackback:ping><description><![CDATA[.net 中使用MySQL传递参数时"@"应该改为"?"<br><br>MySql查询前几条记录时, 使用 select id from test limit 0, 10;<img src ="http://www.cnblogs.com/bullion/aggbug/669846.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41946/" target="_blank">[新闻]微软加快XP专业版反盗版步伐</a>]]></description></item><item><title>Asp.net 服务器配置常见问题</title><link>http://www.cnblogs.com/bullion/archive/2007/03/08/668344.html</link><dc:creator>bullion</dc:creator><author>bullion</author><pubDate>Thu, 08 Mar 2007 09:18:00 GMT</pubDate><guid>http://www.cnblogs.com/bullion/archive/2007/03/08/668344.html</guid><wfw:comment>http://www.cnblogs.com/bullion/comments/668344.html</wfw:comment><comments>http://www.cnblogs.com/bullion/archive/2007/03/08/668344.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/bullion/comments/commentRss/668344.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/bullion/services/trackbacks/668344.html</trackback:ping><description><![CDATA[<p>网上常见的配置问题, 无非也就以下几项配置:<br><br>1. windows/temp 目录添加 netword service 帐户;<br>2. IIS配置下 asp.net 目录添加 netword service 帐户 和 Internet 来宾 帐户;<br>3. IIS里检测.net framework 版本;<br>4. 应用程序池 .net framework 版本冲突导致出错的问题, 所以各站点创建各自的应用程序池;<br>5. 重新注册iis&nbsp;, 找到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(这里指的是指需要重新注册的framework目录), 运行代码: " aspnet_regiis -i&nbsp; " ;<br><br>有更多相关设置的朋友,&nbsp; 请补充一下, 大家共同学习 <img height=20 src="http://www.cnblogs.com/Emoticons/QQ/14.gif" width=20 border=0></p><img src ="http://www.cnblogs.com/bullion/aggbug/668344.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41945/" target="_blank">[新闻]Mozilla与谷歌续签三年搜索合同</a>]]></description></item></channel></rss>