posts - 44,  comments - 61,  trackbacks - 1
  2008年5月2日
     摘要: 做一个PM并不容易。 (这年头,谁容易呀...)自从我的title正式改为PM以来,我曾无数次被问过这样的问题。  阅读全文
posted @ 2008-05-02 15:50 分享 共赢 阅读(68) | 评论 (0)编辑
  2008年4月22日
     摘要: 针对常见Linq to sql的应用场景做了简单测试,并得出粗略测试结果  阅读全文
posted @ 2008-04-22 10:25 分享 共赢 阅读(230) | 评论 (3)编辑
  2008年4月5日
Unlocker是一个免费的右键扩充工具,使用者在安装后,它便能整合于鼠标右键的操作当中,当使用者发现有某个文件或目录无法删除时,只要按下鼠标右键中的“Unlocker”,那么程序马上就会显示出是哪一些程序占用了该目录或文件,接着只要按下弹出的窗口中的“Unlock”就能够为你的文件解套。

Unlocker 不同于其它解锁软件的部分在于它并非强制关闭那些占用文件的程序,而是以解除文件与程序关连性的方式来解锁,因此不会像其它解锁程序一样因为强制关闭程序而造成使用者可能的数据遗失。

下载地址: http://www.onlinedown.net/soft/24732.htm
posted @ 2008-04-05 22:47 分享 共赢 阅读(38) | 评论 (0)编辑
  2008年4月4日
      通常我们有些页面需要设置默认提交按钮。也可能碰到如下情况:在搜索框中输入搜索内容后,按回车搜索,但由于页面设置了默认按钮,而且默认按钮不是搜索按钮,此时使用如下脚本通常都会失败:
function textBoxOnKeyDown(event)
{
        
if(event.keyCode == 13)
        
{
            __doPostBack(
'Button2','');
        }

}
      而且使用如下脚本也会失败
function textBoxOnKeyDown(event)
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2'); //或在本行前加上return
        }

}
      WebForm_FireDefaultButton是asp.net2的脚本文件里提供的函数,定义如下:
function WebForm_FireDefaultButton(event, target) {
        
if (event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) {
        
var defaultButton = document.getElementById(target);
        
if (defaultButton && typeof(defaultButton.click) != "undefined"{
            defaultButton.click();
            event.cancelBubble 
= true;
            
if (event.stopPropagation) event.stopPropagation();
            
return false;
        }

    }

    
return true;
}

       而我测试能工作的脚本如下:
    function textBoxOnKeyDown(event)
  
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2');
            __doPostBack(
'Button2','');
        }

    }
      在xp专业版,ie6上测试通过,完整的代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication5._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
    
<script language="javascript" type="text/javascript">
    
function textBoxOnKeyDown(event)
    
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2');
            __doPostBack(
'Button2','');
        }

    }

    
</script>
    
</head>
<body>
    
<form id="form1" runat="server" defaultbutton="Button1">
    
<div>
        
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        
<asp:TextBox ID="TextBox1" runat="server" onkeydown='textBoxOnKeyDown(event)'></asp:TextBox>
        
<asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />
    
</div>
    
</form>
</body>
</html>

       后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace WebApplication5
{
    
public partial class _Default : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{

        }


        
protected void Button1_Click(object sender, EventArgs e)
        
{
            
this.Response.Write("Button1_Click");
        }


        
protected void Button2_Click(object sender, EventArgs e)
        
{
            
this.Response.Write("Button2_Click");
        }

    }

}


posted @ 2008-04-04 12:18 分享 共赢 阅读(61) | 评论 (0)编辑
      通常我们有些页面需要设置默认提交按钮。也可能碰到如下情况:在搜索框中输入搜索内容后,按回车搜索,但由于页面设置了默认按钮,而且默认按钮不是搜索按钮,此时使用如下脚本通常都会失败:
function textBoxOnKeyDown(event)
{
        
if(event.keyCode == 13)
        
{
            __doPostBack(
'Button2','');
        }

}
      而且使用如下脚本也会失败
function textBoxOnKeyDown(event)
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2'); //或在本行前加上return
        }

}
      WebForm_FireDefaultButton是asp.net2的脚本文件里提供的函数,定义如下:
function WebForm_FireDefaultButton(event, target) {
        
if (event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) {
        
var defaultButton = document.getElementById(target);
        
if (defaultButton && typeof(defaultButton.click) != "undefined"{
            defaultButton.click();
            event.cancelBubble 
= true;
            
if (event.stopPropagation) event.stopPropagation();
            
return false;
        }

    }

    
return true;
}

       而我测试能工作的脚本如下:
    function textBoxOnKeyDown(event)
  
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2');
            __doPostBack(
'Button2','');
        }

    }
      在xp专业版,ie6上测试通过,完整的代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication5._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
    
<script language="javascript" type="text/javascript">
    
function textBoxOnKeyDown(event)
    
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2');
            __doPostBack(
'Button2','');
        }

    }

    
</script>
    
</head>
<body>
    
<form id="form1" runat="server" defaultbutton="Button1">
    
<div>
        
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        
<asp:TextBox ID="TextBox1" runat="server" onkeydown='textBoxOnKeyDown(event)'></asp:TextBox>
        
<asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />
    
</div>
    
</form>
</body>
</html>

       后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace WebApplication5
{
    
public partial class _Default : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{

        }


        
protected void Button1_Click(object sender, EventArgs e)
        
{
            
this.Response.Write("Button1_Click");
        }


        
protected void Button2_Click(object sender, EventArgs e)
        
{
            
this.Response.Write("Button2_Click");
        }

    }

}


posted @ 2008-04-04 11:05 分享 共赢 阅读(30) | 评论 (0)编辑
  2008年1月24日
     摘要: 欢迎参加广州品高软件有限公司的公开技术活动  阅读全文
posted @ 2008-01-24 13:44 分享 共赢 阅读(246) | 评论 (0)编辑
  2008年1月23日
任职要求:
1、计算机或相关专业,本科以上学历,英语4级或以上;
2. 精通、Net Framework,具有2年C/S或B/S模式的开发经验,熟练掌握JavaScript、VBScript、DHTML、XML、C#、ASP、Net、Web Service等开发技术;
3、精通SQL Server等大型数据库开发;
4、能按照规范的软件开发流程,完成软件的编码和测试工作,具有规范的开发文档写作能力;
5、能熟练阅读英文资料,能出差。

我可代为推荐!
posted @ 2008-01-23 12:37 分享 共赢 阅读(50) | 评论 (0)编辑
  2008年1月4日
    因为程序中需要发送邮件,原先有同事实现过,但他说不太好用,因此我重新编写代码。
    先用vs2008测试了下,成功了,从公司信箱发送到hotmail
    再把相应的代码拷贝到vs2005的项目中,再测试,失败!
    不过很快把bug排除了。
    

MailMessage message 
= new MailMessage(fromEmail, toEmail);
message.Subject 
= “xxx”;
message.Body 
= “xxx”;
message.IsBodyHtml 
= true;  

SmtpClient client 
= new SmtpClient();
//VS2005下必须设置Credentials,而vs2008下不须设置
NetworkCredential myCredentials = new NetworkCredential(fromEmail,password, "");                        
client.Credentials 
= myCredentials;
client.Send(message);

   vs2005下的代码需要设置Credentials,而vs2008下不需要,真是奇怪!
posted @ 2008-01-04 16:57 分享 共赢 阅读(144) | 评论 (0)编辑
  2007年12月1日
     摘要: 给jscalendar添加新方法ShowCalendar(obj,dateFormat,showsTimes),以更好的支持在一个页面中使用多个控件,并且调用方式更友好。  阅读全文
posted @ 2007-12-01 15:36 分享 共赢 阅读(257) | 评论 (1)编辑