//   n天后
        function doit(dtstr,n) {
            var v = dtstr;
            if (v == "") return false;
            var dt = new Date(v.replace(/\-/g, "\/"));
            dt.setDate(dt.getDate() + n);
            var newdt = dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate();
            return newdt;
             
        }
       


        function addmulMonth(dtstr, n) {       //   n个月后
           
            var s = dtstr.split("-");
            var yy = parseInt(s[0]);
            var mm = parseInt(s[1]) - 1;
            var dd = parseInt(s[2]);
            var dt = new Date(yy, mm, dd);
            dt.setMonth(dt.getMonth() + n);
            if ((dt.getYear() * 12 + dt.getMonth()) > (yy * 12 + mm + n)) {
                dt = new Date(dt.getYear(), dt.getMonth(), 0);
            }

            return dt.getYear() + "-" + dt.getMonth() + "-" + dt.getDate();
        }    

 

//n年后

        function addmulYear(dtstr,n)
        {
            var s = dtstr.split("-");
            var yy = parseInt(s[0]);
            var mm = parseInt(s[1]);
            var dd = parseInt(s[2]);

            return yy + n + "-" + mm + "-" + dd;
        }

posted @ 2012-02-04 10:52 @海滨@ 阅读(33) 评论(0) 编辑
 function addmulMonth(dtstr, n) {       //   n个月后
            
            var s = dtstr.split("-");
            var yy = parseInt(s[0]);
            var mm = parseInt(s[1]) - 1; 
            var dd = parseInt(s[2]);
            var dt = new Date(yy, mm, dd); 
            dt.setMonth(dt.getMonth() + n);
            if ((dt.getYear() * 12 + dt.getMonth()) > (yy * 12 + mm + n)) {
                dt = new Date(dt.getYear(), dt.getMonth(), 0); 
            }
            return dt.getFullYear() + "-" + dt.getMonth() + "-" + dt.getDay();
  }  

 

alert(addmulMonth( "2000-1-31 ",1));//   加一个月 
alert(addmulMonth( "2000-2-29 ",12));//加一年 
alert(addmulMonth( "2000-1-31 ",3));//加一季度 
alert(addmulMonth( "2000-2-29 ",6));//加半年 

alert(addmulMonth( "2000-2-29 ",9));//加三个季度  

posted @ 2012-01-03 11:36 @海滨@ 阅读(63) 评论(0) 编辑
一、表格中单元格之间分隔线的隐藏方法
 
这个表格去掉了单元格之间的纵向分隔线

这个表格去掉了单元格之间的横向分隔线
  线
  线
这个表格去掉了单元格之间的纵向分隔线和横向分隔线

  其实上面的三个表格都有三行三列,隐藏分隔线的诀窍在于rules,察看这三个表格的源代码,我们可以看到<TABLE>标签中都有rules。 它有三个参数(cols,rows,none),当rules=cols时,表格会隐藏纵向的分隔线,这样我们就只能看到表格的行;当rules=rows时,则 隐藏了横向的分隔线,这样我们只能看到表格的列;而当rules=none时,纵向分隔线和横向分隔线将全部隐藏。



二、表格边框的隐藏
这是一普通的表格

不怕 下雨
   
只显示上边框
   
下起雨来 该怎么办
只显示下边框

上不着天  
  下不着地
只显示左、右边框
  两边走开
老子姓王  
只显示上、下边框

左右  
为难  
只显示左边框
  左右
  为难
只显示右边框

光秃秃  
  全脱了
不显示任何边框

表格边框的显示与隐藏,是可以用frame参数来控制的。请注意它只控制表格的边框图,而不影晌单元格。
只显示上边框 <table frame=above>
只显示下边框 <table frame=below>
只显示左、右边框 <table frame=vsides>
只显示上、下边框 <table frame=hsides>
只显示左边框 <table frame=lhs>
只显示右边框 <table frame=rhs>
不显示任何边框 <table frame=void>

 

 

 

三、表格边框
这是一普通的表格
<table border="1" width="200" cellpadding="0" cellspacing="0"> <tr align="center">   <td>普</td> <td>表</td> </tr> <tr align="center">   <td>通</td> <td>格</td> </tr> </table>  
线
表格加上了漂亮的细线
(利用cellspacing1像素间隙和表格与单元格背景的不同)
<table border="0" width="200" cellspacing="1" cellpadding="0" bgcolor="#000000" > <tr align="center" bgcolor="#FFFFFF">   <td bgcolor="#FFFFFF">细</td> <td bgcolor="#FFFFFF">表</td> </tr> <tr align="center" bgcolor="#FFFFFF">   <td bgcolor="#FFFFFF">线</td> <td bgcolor="#FFFFFF">格</td> </tr> </table>  
线
这和上面那个可不一样,它用的是CSS,效果却一样。
(对单元格border的定义)
<table width="200" cellspacing="0" cellpadding="0"> <tr align="center">   <td style="BORDER-top: rgb(0,0,0) 1px groove; BORDER-bottom: rgb(0,0,0) 1px groove; BORDER-left: rgb(0,0,0) 1px groove; BORDER-right: rgb(0,0,0) 1px groove">细</td> <td style="BORDER-top: rgb(0,0,0) 1px groove; BORDER-bottom: rgb(0,0,0) 1px groove; BORDER-right: rgb(0,0,0) 1px groove">表</td> </tr> <tr align="center">   <td style="BORDER-bottom: rgb(0,0,0) 1px groove; BORDER-left: rgb(0,0,0) 1px groove; BORDER-right: rgb(0,0,0) 1px groove">线</td> <td style="BORDER-bottom: rgb(0,0,0) 1px groove; BORDER-right: rgb(0,0,0) 1px groove">格</td> </tr> </table>  
线
再进一步,把边框变成虚线,同样是CSS的神奇作用。
<table width="200" cellspacing="0" cellpadding="0"> <tr align="center">   <td style="BORDER-top: rgb(0,0,0) 1px dotted; BORDER-bottom: rgb(0,0,0) 1px dotted; BORDER-left: rgb(0,0,0) 1px dotted; BORDER-right: rgb(0,0,0) 1px dotted">细</td> <td style="BORDER-top: rgb(0,0,0) 1px dotted; BORDER-bottom: rgb(0,0,0) 1px dotted; BORDER-right: rgb(0,0,0) 1px dotted">表</td> </tr> <td style="BORDER-bottom: rgb(0,0,0) 1px dotted; BORDER-left: rgb(0,0,0) 1px dotted; BORDER-right: rgb(0,0,0) 1px dotted">线</td> <td style="BORDER-bottom: rgb(0,0,0) 1px dotted; BORDER-right: rgb(0,0,0) 1px dotted">格</td> </tr> </table>  
 
 
 
 
细线表格的扩展应用,奥妙就是在第个单元格中再套入一个表格。
<table width="200" border="0" cellspacing="2" cellpadding="0"> <tr>   <td>     <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">    <tr>     <td bgcolor="#FFFFFF"> </td>    </tr>    </table> </td> <td>      <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">     <tr>      <td bgcolor="#FFFFFF"> </td>     </tr>     </table> </td> </tr> <tr>   <td>       <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">      <tr>       <td bgcolor="#FFFFFF"> </td>      </tr>      </table> </td> <td>       <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">      <tr>       <td bgcolor="#FFFFFF"> </td>      </tr>      </table> </td> </tr> </table>  
立体感的表格
(简单的亮暗边框设置,注意只有IE支持这种效果)
<table border="1" bordercolorlight="#ffffff" bordercolordark="#ffffff" width="200" cellpadding="0" cellspacing="0"> <tr align="center">   <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >立</td> <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >表</td> </tr> <tr align="center">   <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >体</td> <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >格</td> </tr> </table>  
无名表格

 

给表格加上一个表头
(应用<fieldset>和</legend>标签)
<table width="200" cellpadding="0" cellspacing="0"> <tr>   <td><fieldset style="width:200" align="center"> <legend> 无名表格 </legend>   <p align="right">   </fieldset></td> </tr> </table>  
表中表效果Ⅰ
给表头再加个框
(用CSS为<legnd>定义一个边框)
<table width="200"" cellspacing="0" cellpadding="0"> <tr>   <td> <fieldset style="width: 200; color: #B7B7B7; border-style: groove" align="center">   <legend style="color: blue; border: 1 solid #000000"> 表中表效果Ⅰ</legend>   <br> </fieldset> </td> </tr> </table>  
表中表效果Ⅱ

看起来和上面的一样,可是这个才是真正的表中表哦。
(在<legnd>中插入一个表格)
<table width="200"> <tr>   <td><fieldset style="width:200" align="center"> <legend>   <table style="border: 1 solid #000000" width="80" cellspacing="1" cellpadding="0" height="20"> <tr>   <td><font color=blue>表中表效果Ⅱ</font></td> </tr> </table> </legend><br> </fieldset> </td> </tr> </table>  

  这一节要靠你自己去发现了,因为这样学到的东西才是真正属于自己的(我的一个偷懒的借口)。 我已经在每个表格的下面写出了重点,并在右边给出它的源代码,你可以对照着看。下面还有一 个边框会自己变颜色闪动的表格,有兴趣也研究研究吧 ^o^

 


下面来讲讲如何来快速的实现细线表格拉

 

。。其实很简单啊。。只要在标题那边嵌入一段小小的CSS就可以实现啦。虽然只能实现细线表格。。但是一目了然。嘻嘻

<style type="text/css">
.table1{background:#000000;}
/* 这边定义了表格的背景,也就是边框的颜色 */
.table1 td, .table1 th{background:#FFFFFF}
/* 这边定义了表格内的单元格背景是白色啦,就细线就这样出现啦 */
</style>
这边你也可以定义背景为图片啦。不一样的图片会产生不一样的边框样式哦

<table cellpadding="3" cellspacing="1" border="0" width="200" height="50" class="table1">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>

这边的表格结构是不是很清楚啦。。其中关键的是要设置cellspacing为"1"还有就是定义它的class为"table1"。。关键的俩个千万不能忘了哦,不然效果出不来的哦。。

posted @ 2011-01-19 15:10 @海滨@ 阅读(597) 评论(0) 编辑

此安装指南适用于DNN4.x和DNN5.x在本地测试及主机的安装。最近QQ群里不少朋友问我关于DotNetNuke的安装和运行的问题。 为了让大家更清楚地了解DNN的安装方式,我在这里对DotNetNuke的系统需求,和在不同环境下的安装和运行方式做一个全面地介绍。

运行DotNetNuke (DNN)所需的环境:

  • Web服务器:          IIS5, IIS6, IIS7, Visual Studio内置Web服务器
  • 服务器系统:          Windows XP, Windows 2000, Windows 2003, Vista, Windows 2008
  • 数据库:                   Sql Server 2000, 2005, 2008, Sql Server Express
  • 数据库运行权限:  对DNN数据库拥有DBO权限(要确定可以创建,删除表)
  • 文件系统运行权限
    • XP 下需要给网站目录设置”ASPNET”用户”完全控制”权限
    • windows 2003,2008和Vista 需要给网站目录设置”Network Service”用户 ”完全控制” 权限
  • .Net 框架 .Net2.0, .Net3.0, .Net3.5

安装步骤:

DotNetNuke的安装自从DNN4.6引入安装向导之后已经有了极大的简化,现在的安装主要分为以下几步

  • 数据库的配置
  • 文件系统权限的配置
  • WEB服务器的配置(IIS或Visual Studio内置服务器)
  • 上面3点配置好后打开网页运行DNN安装向导配置DNN

第一步: 创建数据库

如果是虚拟主机环境,主机服务商如果提供了数据库访问帐号和数据库信息这步就可以省略了。如果没提供请联系主机服务商,或者通过虚拟主机网站控制面板创建数据库用户和数据库(如果有提供此功能)。

如果对数据库拥有管理权限,我们需要先创建一个空的数据库

  • 首先登录数据库管理器
    • sql server 2000 用企业管理器
    • sql server 2005,2008 用 sql server management studio
    • sql server express 用 sql server management studio express
  • 创建一个空的数据库,名称自定,在这里我叫它DNN5。
  • 建议创建一个数据库用户以方便管理,用户名自定,在这里我创建了一个和数据库同名的用户”dnn5″ 。
    dnn5-installation-sql-server-user
  • 右键点击刚才建好的数据库DNN5,在属性里选择”files”然后在右边的”owner”里填入刚才建好的用户”dnn5″, 这将赋予与”dnn5″用户DBO的权限。
    dnn5-installation-sql-server-dbo
请确定sql server用户可以创建数据表,和存储过程(有些主机服务商会限制用户权限)否则将无法安装DNN。

第二步: 配置文件系统权限

首先下载DNN安装包解压缩到任意目录, 在这里我解压缩到c:webrootdnn5

  • XP 下需要给网站目录”dnn5″下“安全”设置中的”ASPNET” 用户所有文件  ”完全控制” 权限
  • windows 2003,2008和Vista 需要给网站目录”dnn5″下“安全”设置中的”Network Service”用户所有文件”完全控制” 权限
    dnn5-installation-folder-permission
如果是主机托管环境请和主机服务商确定网站目录下“安全”设置中的”Network Service”用户对所有文件和文件夹拥有 “完全控制” 权限。

第三步: 配置WEB服务器创建网站

DNN可以运行于IIS中独立的网站,例如www.dnnmix.com,  localhost:8001 也可以运行在虚拟目录中, 例如www.dnnmix.com/mydnn,  localhost/mydnn。

  • 如果使用xp的IIS5则只支持一个网站,这时候我们通常需要创建一个虚拟目录,例如在默认网站下创建一个叫”dnn5″的虚拟目录,然后把虚拟目录指向外我们的网站c:webrootdnn5。 然后在浏览器输入http://localhost/dnn5运行网站
  • 如果使用vista, 2003, 2008 因为IIs6,7支持多网站, 我们可以创建一个新的网站用端口号区分, 例如,localhost:8005 然后把网站指向c:webrootdnn5。然后在浏览器输入http://localhost:8006运行网站
    dnn5-installation-iis7
  • 如果使用Visual Studio2005,2008内置的web服务器运行网站,在VS中选择打开网站,用文件系统方式打开 c:webrootdnn5, 点击项目根目录在属性窗中配置web服务器。
    • 关闭”使用动态端口”
    • 网站根目录设为”/” (vs2005 sp1 之后才有的功能)
    • 点击F5(调试模式)或Ctrl+F5(运行但是不调试)运行网站,如下图所示设置将会在浏览器打开http://localhost:4186运行DNN。
    • 用VS内置测试Web服务器运行DNN这种大型网站速度会很慢, 建议使用IIS。
      dnn5-installation-vs
  • 如果使用虚拟主机,一般网站控制面板会有创建网站的设置,如没有请联系主机服务商。设置好后请用绑定到网站的域名或者临时链接(有些虚拟主机会提供,这样没有域名也可用临时链接访问)访问网站。

如果使用IIS请注意运行网站前检查IIS的设置,确定以下几点:

  • 设置网站或虚拟目录使用 .net framework 2.0
  • 设置网站默认文件为default.aspx
  • IIs5,6中确定网站或虚拟目录是一个web应用程序 (web app)
  • IIS7中确定所选的应用程序池(application pool)是支持.net framework 2.0

第四步: 使用DNN安装向导配置网站

在操作之前我们可以先下载DNN5安装向导汉化包解压缩后把install文件夹复制到网站根目录c:webrootdnn5覆盖现有文件,这样就可以使用中文安装向导了。前面三步设置好后第一次运行DotNetNuke网站,安装向导会自动运行进行网站配置。

  • 在浏览器输入第三步设置好的网站链接。
  • 运行安装向导,根据需要配置,再这里我就不详细说明了,向导汉化已经给了每一步很明确的指示。

在这里唯一要说明的是,进行配置数据库连接时会有两个选项

  • SQL Server 2005 (Express)文件
    • 这种方式是自动附加网站根目录下的App_DataDatabase.mdf 数据库文件到sql express数据库。
    • 所以要在”数据库”栏填写”Database.mdf”
    • 运行的前提是要安装Sql Express数据库并且需要系统整合的安全权限。
    • 通常虚拟主机环境下是不支持这种权限的,但我们仍然可以选用下面普通数据库连接的方式连接Sql Express
  • SQL Server 2000/2005/2008/Express数据库
    • 用第一步创建的数据帐号dnn5连接数据库DNN5
      dnn5-install-wizard-database
如果在设置网站的时候使用了端口,例如localhost:8000。你会发现除了首页可以访问其它的页面一点击就会出现错误, 我们还需要进行一些设置:
  • 打开数据库中的[PortalAlias]表,你会看到一条记录, 把HttpAlias从localhost改为localhost:8000
  • 在网站根目录的web.config中找到<appSettings>中的<add key=”UsePortNumber” value=”true” />并启用
  • 另外还需要重新启动一下DNN网站清除缓存,当再次访问时端口号即可正常使用。
posted @ 2010-11-10 23:51 @海滨@ 阅读(200) 评论(0) 编辑

一段JS就搞定:

 

在登录页面中添加JS

<script type="text/javascript">
if (top.location != self.location) top.location=self.location;
</script>

posted @ 2010-06-04 10:54 @海滨@ 阅读(283) 评论(1) 编辑
摘要: 在通过HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); req.Method = "GET"; HttpWebResponse sp = (HttpWebResponse)req.GetRes...阅读全文
posted @ 2010-05-25 14:51 @海滨@ 阅读(339) 评论(0) 编辑
摘要: 【原文地址】My Presentations in Europe (December 2009) 【原文发表日期】 Sunday, December 06, 2009 6:04 PM 过去一个星期,我周游欧洲,做了多个讲座(在每个去的国家所做的讲座都近5个小时之久)--星期二在挪威,星期三在瑞典,星期四在丹麦,星期五在比利时。然后在这个周二,还会在法国的BizSpark Camp上再做演讲。 讲...阅读全文
posted @ 2009-12-07 10:41 @海滨@ 阅读(14) 评论(0) 编辑
摘要: 【原文地址】Microsoft AJAX CDN – Now with SSL Support 【原文发表日期】 Sunday, November 29, 2009 5:55 PM 九月的时候,我曾在博客中写到ASP.NET开发团队目前正提供的新Microsoft AJAX CDN(内容分发网络)服务。该CDN提供了对AJAX 库 (包括 jQuery 和 ASP.NET AJAX)的边缘缓存(e...阅读全文
posted @ 2009-11-30 11:00 @海滨@ 阅读(55) 评论(0) 编辑
摘要: 【原文地址】Presenting in Europe Next Week 【原文发表日期】 Friday, November 27, 2009 12:33 AM 下周我将动身去欧洲做多个技术演讲。我会在多个不同的城市做5-6个小时的演讲,会讨论ASP.NET 4 和 VS 2010, ASP.NET MVC 2, 和 Silverlight 4。 下面是我将访问的不同城市,以及如何注册参与有关讲...阅读全文
posted @ 2009-11-28 11:35 @海滨@ 阅读(14) 评论(0) 编辑
摘要: 【原文地址】LIDNUG: Online chat with me Monday Nov 23rd 【原文发表日期】 Sunday, November 22, 2009 11:30 PM 过去的一周是个繁忙的一周,在今年的PDC大会上,有成堆的宣布和很酷的发布。 PDC所有的主题演讲和分会场讲座现在都在网上发布了,可供任何人免费观看。你可以在这里找到想看的讲座。 我的PDC主题演讲讨论了新的Si...阅读全文
posted @ 2009-11-24 07:56 @海滨@ 阅读(7) 评论(0) 编辑