最新评论

Rover.Tang 2009-07-16 12:09
路过 最后一个没有明白。
王哈儿 2008-12-28 09:38
第2步就不明白
jackieaill 2008-12-14 03:51
有bug,拖太过去的话,光标会定到拖过去的位置
长山赵子龙 2008-11-21 19:40
朋友,您的代码怎么是模拟的,好看不重用!
哈哈哈哈哈哈哈哈哈哈,有能用的共享一个。
谢谢。
hxiis.com 2008-10-29 09:55
这个查询还是比较准确,刚查了一下www.hxiis.com这个虚拟主机站
张波sun 2008-10-25 14:30
关注
Norman 2008-10-14 15:01
多谢.
119119 2008-10-06 10:00
大数据量就不行了。只能用小数据量的。
缘来是你 2008-09-19 12:30
cnc224 2008-08-07 17:09
顶下楼主
上面的取值做法貌似不对,至少我没取到值
后来我按照下面的做法取到了
<code>
var oEditor = FCKeditorAPI.GetInstance('InstanceName') ;
alert(oEditor.GetHTML());
</code>
具体参考http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/JavaScript_API
jameswilliam 2008-08-05 14:33
按照这个配置不成功,请问什么问题
<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<configSections>
<section name="rewriter"
requirePermission="false"
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>

<system.web>

<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
</httpModules>

</system.web>

<system.webServer>

<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" />
</modules>

<validation validateIntegratedModeConfiguration="false" />

</system.webServer>

<rewriter>
<rewrite url="~/products/(.+)" to="~/products.aspx?category=$1" />
</rewriter>

</configuration>
BeatOfAngle 2008-07-21 18:12
收!!!
QQ个性签名 2008-05-15 18:54
没什么事不要找我,有事更不用找我
sunjian 2008-05-14 09:37
太谢谢了!我用了不是Total,好长时间才发现错误。
bugSharp 2008-04-25 22:22
谢谢了,学到了不少
lahm 2008-04-18 15:49
这只是获取了本地IP啊(192.168.1.***)之类的!!怎么获得外网IP呢?(路由器IP)!
小K 2007-12-19 14:56
http://fanrsh.cnblogs.com/
网上几种常见校验码图片分析
http://blog.joycode.com/ghj/archive/2005/12/28/69611.aspx
小K 2007-12-19 14:50
达达's 胡搞瞎搞工作室(以前盛世集团的)
http://www.unbe.cn/blog/
http://bg5sbk.cnblogs.com/
http://www.cnblogs.com/BG5SBK/archive/2006/04/24/BG5SBK_Framework_Data_Source_Part1.html
小K 2007-12-19 11:48
http://www.digihail.com/ 一个企业网站
小K 2007-12-14 17:07
厦门小鱼社区 » 工作经验 » [08-06] 我的摆摊及创业心得分享
http://www.xmfish.com/thread-886208-1-4.html
小K 2007-12-12 17:53
www.wangyeba.com 万博
网络电话 2007-12-08 01:43
不错,来试试!
小K 2007-07-24 15:18
这个经常用到,好呀
yyhust 2007-04-30 14:21
实在是太感谢了
小K 2007-04-19 16:32
深入浅出.NET泛型编程(2)

7. 无限制的类型参数

  如果你创建一个泛型数据结构或类,就象例3中的MyList,注意其中并没有约束你该使用什么类型来建立参数化类型。然而,这带来一些限制。如,你不能在参数化类型的实例中使用象==,!=或<等运算符,如:


if (obj1 == obj2) …


  象==和!=这样的运算符的实现对于值类型和引用类型都是不同的。如果随意地允许之,代码的行为可能很出乎你的意料。另外一种限制是缺省构造器的使用。例如,如果你编码象new T(),会出现一个编译错,因为并非所有的类都有一个无参数的构造器。如果你真正编码象new T()来创建一个对象,或者使用象==和!=这样的运算符,情况会是怎样呢?你可以这样做,但首先要限制可被用于参数化类型的类型。读者可以自己先考虑如何实现之。

  8. 约束机制及其优点

  一个泛型类允许你写自己的类而不必拘泥于任何类型,但允许你的类的使用者以后可以指定要使用的具体类型。通过对可能会用于参数化的类型的类型施加约束,这给你的编程带来很大的灵活性--你可以控制建立你自己的类。让我们分析一个例子:

  例5.需要约束:代码不会编译成功


public static T Max<T>(T op1, T op2)
{
 if (op1.CompareTo(op2) < 0)
  return op1;
 return op2;
}


  例5中的代码将产生一个编译错误:


Error 1 ’T’ does not contain a definition for ’CompareTo’


  假定我需要这种类型以支持CompareTo()方法的实现。我能够通过加以约束--为参数化类型指定的类型必须要实现IComparable接口--来指定这一点。例6中的代码就是这样:

  例6.指定一个约束


public static T Max<T>(T op1, T op2) where T : IComparable
{
 if (op1.CompareTo(op2) < 0)
  return op1;
 return op2;
}


  在例6中,我指定的约束是,用于参数化类型的类型必须继承自(实现)Icomparable。下面的约束是可以使用的:

  where T : struct 类型必须是一种值类型(struct)

  where T : class 类型必须是一种引用类型(class)

  where T : new() 类型必须有一个无参数的构造器

  where T : class_name 类型可以是class_name或者是它的一个子类

  where T : interface_name 类型必须实现指定的接口

  你可以指定约束的组合,就象: where T : IComparable, new()。这就是说,用于参数化类型的类型必须实现Icomparable接口并且必须有一个无参构造器。

  9. 继承与泛型

  一个使用参数化类型的泛型类,象MyClass1<T>,称作开放结构的泛型。一个不使用参数化类型的泛型类,象MyClass1<int>,称作封闭结构的泛型。

  你可以从一个封闭结构的泛型进行派生;也就是说,你可以从另外一个称为MyClass1的类派生一个称为MyClass2的类,就象:


public class MyClass2<T> : MyClass1<int>


  你也可以从一个开放结构的泛型进行派生,如果类型被参数化的话,如:


public class MyClass2<T> : MyClass2<T>


  是有效的,但是


public class MyClass2<T> : MyClass2<Y>


  是无效的,这里Y是一个被参数化的类型。非泛型类可以从一个封闭结构的泛型类进行派生,但是不能从一个开放结构的泛型类派生。即:


public class MyClass : MyClass1<int>


  是有效的, 但是


public class MyClass : MyClass1<T>


  是无效的。

  10. 泛型和可代替性

  当我们使用泛型时,要小心可代替性的情况。如果B继承自A,那么在使用对象A的地方,可能都会用到对象B。假定我们有一篮子水果(a Basket of Fruits (Basket<Fruit>)),而且有继承自Fruit的Apple和Banana(皆为Fruit的种类)。一篮子苹果--Basket of Apples (Basket<apple>)可以继承自Basket of Fruits (Basket<Fruit>)?答案是否定的,如果我们考虑一下可代替性的话。为什么?请考虑一个a Basket of Fruits可以工作的方法:


public void Package(Basket<Fruit> aBasket)
{
 aBasket.Add(new Apple());
 aBasket.Add(new Banana());
}


  如果发送一个Basket<Fruit>的实例给这个方法,这个方法将添加一个Apple对象和一个Banana对象。然而,发送一个Basket<Apple>的实例给这个方法时,会是什么情形呢?你看,这里充满技巧。这解释了为什么下列代码:


Basket<Apple> anAppleBasket = new Basket<Apple>();
Package(anAppleBasket);


  会产生错误:


Error 2 Argument ’1’:
cannot convert from ’TestApp.Basket<testapp.apple>’
to ’TestApp.Basket<testapp.fruit>’


  编译器通过确保我们不会随意地传递一个集合的派生类(此时需要一个集合的基类),保护了我们的代码。这不是很好吗?

  这在上面的例中在成功的,但也存在特殊情形:有时我们确实想传递一个集合的派生类,此时需要一个集合的基类。例如,考虑一下Animal(如Monkey),它有一个把Basket<Fruit>作参数的方法Eat,如下所示:


public void Eat(Basket<Fruit> fruits)
{
 foreach (Fruit aFruit in fruits)
 {
  //将吃水果的代码
 }
}


  现在,你可以调用:


Basket<Fruit> fruitsBasket = new Basket<Fruit>();
… //添加到Basket对象中的对象Fruit
anAnimal.Eat(fruitsBasket);


  如果你有一篮子(a Basket of)Banana-一Basket<Banana>,情况会是如何呢?把一篮子(a Basket of)Banana-一Basket<Banana>发送给Eat方法有意义吗?在这种情形下,会成功吗?真是这样的话,编译器会给出错误信息:


Basket<Banana> bananaBasket = new Basket<Banana>();
//…
anAnimal.Eat(bananaBasket);


  编译器在此保护了我们的代码。我们怎样才能要求编译器允许这种特殊情形呢?约束机制再一次帮助了我们:


public void Eat<t>(Basket<t> fruits) where T : Fruit
{
 foreach (Fruit aFruit in fruits)
 {
  //将吃水果的代码
 }
}


  在建立方法Eat()的过程中,我要求编译器允许一篮子(a Basket of)任何类型T,这里T是Fruit类型或任何继承自Fruit的类。


希望用户看完之后注册用户发表你的意见,将给予更多的学习资料!

转载与 http://lqs.13e4.cn/bbs/Announce/Announce.asp?BoardID=103&ID=34&q=1&r=24
laifangsong 2007-04-11 10:50
good!
Phinecos(洞庭散人) 2007-04-03 16:03
讲的不错
小K 2007-01-11 11:11
[原创][开源]整合梅花雨日历控件,推出.NET版本
http://www.cnblogs.com/PiedPiper/archive/2007/01/10/617004.html
daisylh 2006-12-27 08:55
樓主,改為1000和改為-1,0,500一樣啊,點到235次還是會出現啊~@_@
有沒有其他方法?
方磊 2006-11-29 15:02
这种方式确实很快,也许是最快的, 但是有一个最大的缺点就是只能根据主键进行排序。
小K 2006-10-21 18:48
含5000个字体的整站免费下载(包括字体及演示图片)。


演示:http://www.yesadmin.com/efonts/index.htm

下载:http://www.yesadmin.com/Soft/htm

经典英文字体下载整站(含5000个英文字体)程序下载



已经包含字体所有演示图片

总文件共110M
小K 2006-10-21 18:20
小K 2006-10-07 11:13
<!-- Blog日历表开始 -->
<script language="javascript">
var diarydays="<2004-08-11>";
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
.calendarBigBorder { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; text-decoration: none; width: 170; background-color: #FFFFFF; font-size: 9pt;border:1px dotted #999; }
.calendarTd { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #000000; background-color: #eeeeee; height: 18px; width: 11%; text-align: center;}
.calendarMInput { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; text-decoration: none; background-color: #FFFFFF; height: 15px; border: 1px solid #666666; width: 19px; color: #0099FF;}
.calendarYInput { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #0099FF; text-decoration: none; background-color: #FFFFFF; height: 15px; width: 34px; border: 1px solid #666666;}
.calendarMonthTitle { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; font-weight: normal; height: 24px; text-align: center; color: #333333; text-decoration: none; background-color: #eeeeee; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-bottom-style: none; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999;}
.calendarNow { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; font-weight: bold; color: #000000; background-color: #C0C9D3; height: 18px; text-align: center;}
.calendarDaySat { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #333333; text-decoration: none; background-color: #eeeeee; text-align: center; height: 18px; width: 12%;}
.calendarDaySun { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; color: #333333; text-decoration: none; background-color: #eeeeee; text-align: center; height: 18px; width: 12%;}
.calendarLink { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; font-weight: normal; color: #333333; text-decoration: none; background-color: #E7E7F6; text-align: center; height: 18px;}
.categoryTxt { font-family: "Arial", "Helvetica", "sans-serif", "宋体"; font-size: 9pt; line-height: 23px; color: #333333; text-decoration: none;}
.categoryTable { border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: none; border-right-color: #000000; border-bottom-color: #000000; border-top-width: 1px; border-top-style: solid; border-top-color: #71b99c;}
</style>
<SCRIPT LANGUAGE="JavaScript">
var months = new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31);
var days = new Array("日","一", "二", "三","四", "五", "六");
var classTemp;
var calendarHover="calendarHover";
var today=new getToday();
var year=today.year;
var month=today.month;
var newCal;
//得到某月天数
function getDays(month, year)
{ if (1 == month)
     return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;
  else
     return daysInMonth[month];
}
//得到当天时间信息
function getToday()
{  this.now = new Date();
   this.year = this.now.getFullYear();
   this.month = this.now.getMonth();
   this.day = this.now.getDate();
}

//生成日历
function Calendar()
{  newCal = new Date(year,month,1); //当前月的第一天
   today = new getToday();  
   var day = -1;   //用来判断日历中是否为当天
   var startDay = newCal.getDay(); //当月开始时间
   var endDay=getDays(newCal.getMonth(), newCal.getFullYear());//当月结束时间
   var daily = 0;   //用来生成日历中的天数值
   if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
      day = today.day;
   var caltable = document.all.caltable.tBodies.calendar;  //得到日历表格的集合
   var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear()); //得到当月天数
   //生成日历
   for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++)
     for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++)
     {
      var cell = caltable.rows[intWeek].cells[intDay];   //得到单元袼
   //生成字符串用于判断当天是否有日志
      var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);        
      if ((intDay == startDay) && (0 == daily)){ daily = 1;}
      var daytemp=daily<10?("0"+daily):(daily);
      var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";
   //选择样式
      if(day==daily)
      cell.className="calendarNow";
      else if(diarydays.indexOf(d)!=-1)
         cell.className="calendarLink";
      else if(intDay==6)
      cell.className = "calendarDaySat";
      else if (intDay==0)
      cell.className ="calendarDaySun";
      else
      cell.className="calendarTd";
   //生成值
      if ((daily > 0) && (daily <= intDaysInMonth)) 
      {  cell.innerText = daily;
         daily++;
      }
      else
        cell.innerText = "";
    } 
  document.all.year.value=year;
  document.all.month.value=month+1;
}

function subMonth()
{
  if ((month-1)<0)
  {
     month=11;
  year=year-1;
  }
  else
  {
    month=month-1;
  }
  Calendar();
}
function addMonth()
{
  if((month+1)>11)
  {
    month=0;
    year=year+1;
  }
  else
  {
    month=month+1;
  }
  Calendar();
}
//得到响应事件
function getDiary()
{
  var mon=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);
  var day=event.srcElement.innerText<10?("0"+event.srcElement.innerText):(event.srcElement.innerText);
  var d="<"+newCal.getFullYear()+"-"+mon+"-"+day+">";
  if ("TD" == event.srcElement.tagName)
  if (("" != event.srcElement.innerText)&&(diarydays.indexOf(d)!=-1))
  {
   diary.location="/lxny/archive/"+newCal.getFullYear()+"/"+mon+"/"+day+".aspx";
   window.location.href = diary.location;
  }
}

function setDate()
{
  if (document.all.month.value<1||document.all.month.value>12)
  {
    alert("月的有效范围在1-12之间!");
 return;
  }
  year=Math.ceil(document.all.year.value);
  month=Math.ceil(document.all.month.value-1);
  Calendar();
}
</SCRIPT>
<table border="0" cellpadding="0" cellspacing="1" class="calendarBigBorder" id="caltable" width="200">
<thead>
     <tr align="center" valign="middle">
    <td colspan="7" class="calendarMonthTitle">
   <input name="year" type="text" class="calendarYInput" size="3" maxlength="4" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')"  onpaste="this.value=this.value.replace(/[^0-9]/g,'')">年
   <input name="month" type="text" class="calendarMInput" size="1" maxlength="2" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')"  onpaste="this.value=this.value.replace(/[^0-9]/g,'')">月 [<a onClick="addMonth()" href="javascript:;">下月</a>] [<a  onClick="subMonth()" href="javascript:;">上月</a>]</td>
  </tr>
 <tr align="center" valign="middle">
 <SCRIPT LANGUAGE="JavaScript">  
 document.write("<TD class=calendarDaySun id=diary>" + days[0] + "</TD>");
 for (var intLoop = 1; intLoop < days.length-1;
 intLoop++)
 document.write("<TD class=calendarTd id=diary>" + days[intLoop] + "</TD>");
 document.write("<TD class=calendarDaySat id=diary>" + days[intLoop] + "</TD>");
 </SCRIPT>
 </TR>
</thead>
  <TBODY border=1 cellspacing="0" cellpadding="0" ID="calendar" ALIGN=CENTER ONCLICK="getDiary()" onmouseup=document.selection.empty() oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty() onselect=document.selection.empty()>
    <SCRIPT LANGUAGE="JavaScript">
  for (var intWeeks = 0; intWeeks < 6; intWeeks++) {
  document.write("<TR style='cursor:hand'>");
  for (var intDays = 0; intDays < days.length;intDays++)
  document.write("<TD class=calendarTd onMouseover='{classTemp=this.className;this.className=calendarHover}' onMouseOut='this.className=classTemp'></TD>");
  document.write("</TR>");
  } 
 </SCRIPT>
  </tbody>
 </table>
<script  LANGUAGE="JavaScript">
Calendar();
</script>
<!-- Blog日历表结束 -->

QQ的天气预报调用


嵌入网页中

<!--天气开始-->
<SCRIPT>
function getcookie(name) {
var my_cookie = document.cookie;
var start = my_cookie.indexOf(name + " at weather dot qq.com" + "=");
if (start == -1) return '';
start += name.length + 16; //1 stands of '='
var end = my_cookie.indexOf(";" ,start);
if (end == -1) end = my_cookie.length;
return my_cookie.substr(start, end - start);
}
var v=getcookie('default_city');
if (v == '') v=125;
document.write("<IFRAME ID='ifm2' WIDTH='189' HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC='http://weather.qq.com/inc/ss" + v + ".htm'></IFRAME>");
</SCRIPT>


<!-- 天气结束-->

 

 

小K 2006-10-07 10:12
如何查看某个触发器的内容
 
use 数据库名
go
exec sp_helptext '触发器名称'
将会以表的样式显示触发器内容。
除了触发器外,sp_helptext 还可以显示 规则、默认值、未加密的存储过程、用户定义函数、视图的文本
用企业管理器查看
在表上点右键->“所有任务”->“管理触发器”,选择所要查看的触发器