如题
posted @ 2008-06-20 17:07 singleblue 阅读(58) | 评论 (0)编辑

ReportDocument rptDocument;
rptDocument.SetDataSource(myDS);
CrystalDecisions.Shared.ReportPageRequestContext rprc 
    = new CrystalDecisions.Shared.ReportPageRequestContext();
int totalPCount = rptDocument.FormatEngine.GetLastPageNumber(rprc);

posted @ 2008-06-20 16:39 singleblue 阅读(123) | 评论 (0)编辑

<!--
//学习一下如何利用js来操作cookie

//写入 cookie
//不区分 cookieName 的大小写
//不考虑子键
function WriteCookies(cookieName, cookieValue, expires)
{
    if (expires)
    {
        //指定了 expires
        document.cookie = 
            WriteCookies_GetCookieName(cookieName) + "=" + escape(cookieValue) 
            + "; expires=" + xpires.toGMTString();
    }
    else
    {
        document.cookie = WriteCookies_GetCookieName(cookieName) + "=" + escape(cookieValue);
    }
}

//获取并返回与 cookieName 同名的 cookie 名称,允许大小写不同
//如果不存在这样的 cookie,就返回 cookieName
function WriteCookies_GetCookieName(cookieName)
{
    var lowerCookieName = cookieName.toLowerCase();
    var cookieStr = document.cookie;
   
    if (cookieStr == "")
    {
        return cookieName;
    }
   
    var cookieArr = cookieStr.split("; ");
    var pos = -1;
    for (var i=0; i<cookieArr.length; i++)
    {
        pos = cookieArr[i].indexOf("=");
        if (pos > 0)
        {
            if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
            {
                return cookieArr[i].substring(0, pos);
            }
        }
    }
   
    return cookieName;
}

//获取并返回 cookie 值
//不区分 cookieName 的大小写
//dfltValue 为默认返回值
//不考虑子键
function ReadCookies(cookieName, dfltValue)
{
    var lowerCookieName = cookieName.toLowerCase();
    var cookieStr = document.cookie;
   
    if (cookieStr == "")
    {
        return dfltValue;
    }
   
    var cookieArr = cookieStr.split("; ");
    var pos = -1;
    for (var i=0; i<cookieArr.length; i++)
    {
        pos = cookieArr[i].indexOf("=");
        if (pos > 0)
        {
            if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
            {
                return unescape(cookieArr[i].substring(pos+1, cookieArr[i].length));
            }
        }
    }
   
    return dfltValue;
}


//test all the oper

document.write("写入名称为 cv 的 cookie...<br>");
WriteCookies("test", "test123", null);

document.write("写入名称为 Ab,带失效日期的 cookie...<br>");
var expires = new Date("December 11, 2010");
WriteCookies("singleblue", "test234", expires);

document.write("读取名称为 singleblue 的 cookie..." + ReadCookies("ab", ""));
-->

posted @ 2008-06-11 10:25 singleblue 阅读(161) | 评论 (2)编辑
今天coding时,发现系统有一个地方是需要做全角自动转半角的,就从网上搜到了下面的东西
检查全角半角
var s = "bABD1232232";
var strCode;
for(var i=0;i<s.length;i++)
{
    strCode = s.charCodeAt(i);
    if((strCode>65248)||(strCode==12288))  //12288是空格
    {
        alert("有全角!");
        break;
    }
}
半角字符由一个字节保存,全角字符用两个字节保存,所以码值的绝对值小于256的就是半角,否则就是全角。
全角转半角的函数
function DBC2SBC(str)
{

var result = '';
for(var i=0;i<str.length;i++){
code = str.charCodeAt(i);                         //获取当前字符的unicode编码
if (code >= 65281 && code <= 65373)     //在这个unicode编码范围中的是所有的英文字母已及各种字符
{
    result += String.fromCharCode(str.charCodeAt(i) - 65248);
    //把全角字符的unicode编码转换为对应半角字符的unicode码
}else if (code == 12288)//空格
{
    result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
}else
{
    result += str.charAt(i);
}
}
return result;
}
javascript是16位编码
65281到65373只有这里面的数据才是全角,这里要有范围限制的
关于65281的算法是这么来的
比如全角的字符A
编码为FF21
转成16进制是
1111 1111 0010 0001
对两个字节分别取10进制的值
第一个字节是
65280
第二个字节是
33
所以a的65313

对这个编码减去
65248得半角的

65248比65280小32
所以我想ASC码小于32的就不能转换
因为转换了字符编码的前一字节就不能是1111 1111即FF
就会比这个小,那应该就不是全角了
就是说第一字节不能满足全为1

posted @ 2008-06-06 15:44 singleblue 阅读(257) | 评论 (1)编辑

如题,也可以用现今较为流行的js框架来实现,会较为简单,现今的js框架大多数都有封装好支持多种浏览器的创建方式
var xmlHttp = false;
/*@cc_on
@*/
/*@if(@_jscript_version>=5)
try
{
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
    try
    {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e2)
    {
        xmlHttp= false;
    }
}
@end @*/
if(!xmlHttp && typeof XMLHttpRequest != 'undefined')
    xmlHttp = new XMLHttpRequest();

posted @ 2008-06-05 15:55 singleblue 阅读(221) | 评论 (1)编辑

1.项目到项目的引用
 在解决方案包含多个项目,一个项目需要引用同一个解决方案中的另一个项目时使用。在解决方案上进行构建时,这类引用会自动更新。项目包含在解决方案时,建议使用这类引用。Visual Studio在解决方案文件中添加ProjectReferences标记项目,来跟踪这类引用。也就是说,如果另一个解决方案中也使用了这个项目,而它有项目到项目的引用,就必须重新建立它们。
2.Bin
 这表示引用的是应用程序的bin目录外部的一个共享组件,该组件没有在全局程序集缓存(Global Assembly Cache,GAC)中注册。在引用时,这些项会复制到bin目录下,在默认情况下仅在构建过程中更新。如果查看一下该文件夹,除了程序集之外,还创建了一个<assemblyname>.dll.refresh文件。在该文件中包含了位置的引用,生成一个新副本。如果删除了这个文件,在构建过程中就不生成新副本。
3.GAC
   用全局程序集缓存(GAC)注册的项不复制到项目的bin文件夹下。在web.config文件的编译部分,会添加一个新项,以跟踪对GAC组件的引用。这不是一个副本文件,所以会自动更新,选择安装到GAC中的当前版本
4.Web引用
 这类引用用于跟踪Web服务的注册。在添加一个新的web引用时,会创建一个新的app_WebReferences文件夹,其中包含所生成的客户代理文件。只有在Visual Studio Solution Explorer的app_WebReferences文件夹选择Update Web References,才会更新这些引用。

   以上是从书上看到的一些东东,感觉了解一下也好

posted @ 2008-06-04 10:59 singleblue 阅读(124) | 评论 (0)编辑
使用AjaxPro时遇到一个问题:
利用AjaxPro调用后台代码,出现错误,由于后台代码与Session有交互

错误信息为:
"只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态.还请确保在应用程序配置的<configuration>\<system.web>\<httpModules>节中包括System.Web.SessionStateMod或自定义会话状态模块"
 
解决方法如下,在Web.config中允许Session,并在ajaxpro方法前加
  [AjaxMethod(HttpSessionStateRequirement.ReadWrite)]   //  读写Session:  
或  
  [AjaxMethod(HttpSessionStateRequirement.Read)]   //  只读Session:
posted @ 2008-05-29 15:16 singleblue 阅读(30) | 评论 (0)编辑
调用window.print()时,可以利用css来控制页面中的东西是否显示
<style>
@media print{
  .noprint{
     display:none
  }
}
</style>


HTML如下:
<table width="757" height="174" border="0" align="center"cellpadding="0"
cellspacing="0">
 <tr class="noprint">
  <td height="133" align="center" valign="top">
   <img src="Images/top.jpg" width="757" height="133"></td>
 </tr>
</table>
此时<tr class="noprint">是不打印的tr


下面是media的相关
media类型是CSS属性媒体类型,用于直接引入媒体的属性。其语法格式如下:
@media screen | print | projection | braille | aural | tv | handheld | all
参数说明
    screen:指计算机屏幕。
    print:指用于打印机的不透明介质。
    projection:指用于显示的项目。
    braille:盲文系统,指有触觉效果的印刷品。
    aural:指语音电子合成器。
    tv:电视类型的媒体。
    handheld:指手持式显示设备。
    all:用于所有媒体。
posted @ 2008-05-21 10:15 singleblue 阅读(135) | 评论 (0)编辑

急需datastage,如果园里的朋友谁有这个软件的话,麻烦分享一下
十分感谢!

posted @ 2008-05-16 08:45 singleblue 阅读(18) | 评论 (0)编辑
<asp:Label ID="lblFare" runat="server" Text="" ForeColor ="red" Font-Bold ="true" style='display:none;'></asp:Label>

<asp:Label ID="lblFare" runat="server" Text="" ForeColor ="red" Font-Bold ="true" Visible="false"></asp:Label>
引起的问题

写一个js函数来取lblFare的值,如下
var lblOld=document.getElementById('lblFare');
alert(lblOld.innerHTML);
这时,如果后者的写法,则取不到任何值,因为这个时候Visible为false的话,控件没有Render出来
posted @ 2008-05-12 14:26 singleblue 阅读(144) | 评论 (1)编辑