阿一

未来是属于勇敢的人

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  65 随笔 :: 0 文章 :: 123 评论 :: 1 引用

2008年9月22日 #

     国庆10月2号准备结婚了,终于都迈出了人生重要的一步。要成家了,有人说要迈进坟墓了,结婚是人生中重要的一环,看你怎么去看待它。结婚是幸福的,哈哈。我宣布从10月2号开始,我阿一从此不用打光棍啦。

     回想起这几年的感情路,也经历不少辛酸苦辣,也许正因为这样才能坚强的牵手走下去。每个人都有自己属于自己的故事。我想说的是希望大家都珍惜自己身边的每一个人,祝天下有情人终成眷属。

    

posted @ 2008-09-22 13:31 阿一 阅读(26) | 评论 (1)编辑

2008年8月21日 #

datalist嵌套TreeView,并执行TreeView的选择事件。

 

Code

 

 

后天代码

 

Code
posted @ 2008-08-21 11:22 阿一 阅读(33) | 评论 (0)编辑

2008年7月3日 #

    这段时间在搞收发邮件。积累了一些心得,发现.NET本身自带的邮件发送功能有点问题,如果我是用126邮箱来发,同时发去了新浪,163,126,或其他邮箱,发现只有126的不能收,其他的都能收得到。由于时间关系没有深入去研究它。
    后来改用了jmail来发,一点问题都没有,这个组件确实好用。发的问题是好了,收的问题又来了。当收取邮件时,特麻烦,不是说程序写起来麻烦,是处理上很麻烦。网上很多例子都是,邮件收回来了,就会去删除服务器上的邮件。我不能这么干,删不删应该由用户自己去决定。由于收取了没有删除服务器上的邮件,所以每次去收得和本地对比一下,如果是新的才收下来。
    其中  jmail.POP3Class popMail = new POP3Class();//建立收邮件对象
             for (int i = popMail.Count; i >= 1; i--)                                                         
                {
                     string     MessageID = popMail.GetMessageUID(i);//这个方法能得到这封邮件的唯一标识
                }
取到的值应该是这样的:
1201003258.M407665P44098V0300FF01I00A13131.freemai
1193448159.60063.freemail-g2.xinnetdns.com,S=2318
1186556047.26437.freemail-g2.xinnetdns.com,S=29537
1185785213.30966.freemail-g2.xinnet.com,S=209785
1182761811.41467.freemail-g2.xinnet.com,S=3306
1182761258.77575.freemail-g2.xinnetdns.com,S=3306
1174354846.58042.freemail-g2.xinnetdns.com,S=1506
1169261191.49634.freemail-g2.xinnetdns.com,S=25076

如果附件大的话,收得更慢,随便搞了一下有些邮件有附件,有些邮件没有附件。46封邮件,要收3分多钟。
如果没有附件的话,它收得还是挺快的。
      最终还是舍弃了,web可能不具备收邮件的能力。所以最终只能在服务器端写了一个服务进行处理。如果各位有什么好的解决方案,愿闻其详。
posted @ 2008-07-03 11:18 阿一 阅读(61) | 评论 (0)编辑

2008年6月7日 #

     摘要: 1数组遍历判断两个输入框之间是否有输入重复的值!今天在工作的过程,遇到一个这样的问题。有两个输入框,用户可输入多值,用逗号隔开,例如:1,2,3,4第二个输入框也是一样,但是第一输入框是必填的,现在就是要取这两个输入框逗号隔开的值而且不能重复。以下为我实现的脚本代码,欢迎指正。functioncheckSend(){varAccept=document.getElementById("txtAdd... 阅读全文
posted @ 2008-06-07 14:25 阿一 阅读(68) | 评论 (0)编辑

2008年4月30日 #

with temptbl as (SELECT ROW_NUMBER() OVER (order by ProductID)AS Row, * from Products)
SELECT * FROM temptbl where  Row  between (@pageindex)*@pagesize+1 and (@pageindex)*@pagesize+@pagesize
每次只读取17条数据出来,
简单测试了一下20多万条数据只用了93毫秒,如果全部查出来则要7秒。
posted @ 2008-04-30 15:12 阿一 阅读(162) | 评论 (0)编辑

2008年4月15日 #

如何控制一个登录名只能访问一个数据库。
首先,打开数据库,点击安全性选项,登录名,点右键新建,新建登录名时,输入登录名和密码,点击用户映射,选择你要映射到的数据库,数据库管理角色成员身份将db_owner,public 勾上。
然后,展开你刚才登录要映射的数据库,去到安全性,用户,你可以看到你刚才添加的用户,点右键属性,在数据库管理角色成员身份将db_owner勾上即可。
然后用你的登录名再登录SQL看看,呵呵 OK啦。

相关代码:        
                
 --添加登录            
    exec           sp_addlogin           'test'            
 --使其成为当前数据库的合法用户            
    exec           sp_grantdbaccess           N'test'           
  --授予对自己数据库的所有权限               
     exec           sp_addrolemember           N'db_owner',           N'test'                                                             
    --这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表              
    go              
           
    --删除用户              
    exec           sp_revokedbaccess           N'test'                                                  
--移除对数据库的访问权限               
    exec           sp_droplogin           N'test'     

EXEC sp_grantdbaccess 'guest'

EXEC sp_revokedbaccess 'guest'


guest用户启用/禁用.
posted @ 2008-04-15 16:20 阿一 阅读(57) | 评论 (0)编辑

2008年3月5日 #

     上周终于都完成了项目的打包部署。现在总结一下,打包ASP.NET网站有做些那些事情。
1.打包时安装数据库,是通过数据库备份文件进行恢复,而不是SQL语句新建(因为项目初始化数据很多)。同时修改web.config文件。
2.新建网站,并设置网站的相关属性,包括匿名访问,集成WINDOWS认证,文档,ASP.NET选项设置为2.0等。
3.操作注册表。将相关信息写入注册表,例如安装路径等等。
4.如果安装的路径所在盘符是NTFS格式,那么要设置网站中相应的文件夹让Everyone有修改权限,因为传放上传文件的文件夹需要设置权限。
5.如果安装机器没有.NET Frameword2.0框架,自动安装框架。

在安装项目的属性页中找到“系统必备”按钮,  
  点击按钮可以看到,安装程序所需要的组件(当然包括.NET   Framwork2005),  
  选中.NET   Framwork,然后在下边的选项中选择“从我的应用程序相同的位置下载系统必备组件”,  
  这样生成安装包里会包括“.NET   Framwork”  



参考文章:
1用VS2005IIS的操作
2安装或附加数据库
3用VS2005制作安装包
4windows硬盘上的某一文件夹设置权限
5孟子大哥的利用C#创建 IIS 站点并设置.NET Framework版本为ASP.NET 2.0 的方法
看完这几篇文章基本上就差不多了,一些细节的地方,自己动手调调就OK啦。

 

 

posted @ 2008-03-05 09:04 阿一 阅读(383) | 评论 (7)编辑

2008年2月16日 #

因为之前看到人家的一个匹配下拉控件,做得好酷,所以自己也开发了一个,虽然现在还比较丑陋,但还是能用的,还有很多不方便的地方要修改,所以源码就先不公布了。
先看看效果:

我点文本框的绿色图标,它会自动给我显示下拉项。

当我输入一个中字,它会自动匹配到凡是中字开头的项而显示出来。

基本上现在这个控件能达到这样的效果,可能用起来不是很方便有待改善,用时需要一个文本框,一个隐藏按钮控件,然后再拖拽这个匹配控件出来设置几个属性即可。
匹配控件的实现:
新建一个类,继承 WebControl。开始定义控件的属性。
[System.ComponentModel.NotifyParentProperty(true)]
        [Description(
"要匹配的控件的ID号")]
        [TypeConverter(
typeof(ValidatedControlConverter))]
        [DefaultValue(
"")]
        
public string MatchTextBoxID
        
{
            
get
            
{
                
string s = (string)ViewState["MatchTextBoxID"];
                
return (s == null? "" : s;

            }

            
set
            
{
                ViewState[
"MatchTextBoxID"= value;
            }

        }



        [System.ComponentModel.NotifyParentProperty(
true)]
        [Description(
"存储匹配的控件值的ID号")]
        [TypeConverter(
typeof(ValidatedControlConverter))]
        [DefaultValue(
"0")]
        
public string MatchTextBoxValueID
        
{
            
get
            
{
                
string s = (string)ViewState["MatchTextBoxValueID"];
                
return (s == null? "0" : s;

            }

            
set
            
{
                ViewState[
"MatchTextBoxValueID"= value;
            }

        }

重写呈现控件的方法

 protected override void OnPreRender(EventArgs e)
        {
            if (Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "IwoakTextBoxMatch") == false)
            {

                this.Page.ClientScript.RegisterClientScriptInclude(
           this.GetType(), "TextBoxMatch",
           Page.ClientScript.GetWebResourceUrl(this.GetType(),
           "Iwoak.Controls.TextBoxMatch.js"));
            }

            base.OnPreRender(e);
        }

 protected override void Render(HtmlTextWriter writer)

{
。。。。。。。。。。。。
}

再新建一个js
//****************
//可输可选可匹配输入的控件类
//参数(高,文本框的ID,隐藏控件的ID用于保存选择的ID值,图片的路径)
//****************

function TextMatch(Height, TextMatchText,TextMatchValue,imgurl)
{
    var TextMatchObject = this; 
 if(imgurl !="")
     TextMatchObject.img = imgurl; 
 
 var TextMatchDiv = document.createElement('div');
 var TextMatchFrame = document.createElement('iframe');
 var TextMatchButton = document.createElement('input');

TextMatchDiv.style.position = 'absolute';
TextMatchFrame.style.zIndex = '100';
 TextMatchFrame.src = 'javascript:void(0)';

设置TextMatchDiv,TextMatchButton ,TextMatchFrame ,的样式.......................

  //关闭选项层
 function hideTextMatch(e)
 {
  e = (e == null) ? window.event : e;
  target = (e.target) ? e.target : e.srcElement;
     TextMatchDiv.style.display = 'none';
   TextMatchFrame.style.display = 'none';
  
 }

//展开匹配层
 function showTextMatch()

{
。。。
}
//注册事件
xtMatchText.addEventListener('keyup', function(){showMatch()}, false);
  TextMatchButton.addEventListener('click', function(){showTextMatch()}, false);
  window.addEventListener('click', function(e){hideTextMatch(e)}, false);

}
基本上就完成了。
别人的更牛,选了之后输入框都可以有图片和链接的,不知道到他的“文本框”是用什么组合实现的。
放出他的效果图给大家瞧瞧。

我觉得这个效果可以,下个阶段目标就是要实现这个。有兴趣的朋友可以交流交流。
posted @ 2008-02-16 10:00 阿一 阅读(129) | 评论 (0)编辑

2008年2月13日 #

这个插件可以在内置于VS 2008中的“网站项目”或者“Web应用项目”选项下使用,提供了你可以使用的另外的编译,包装和部署选项。用法跟Web Deployment Projects for vs2005的用法是一样的。
此外,它还加了下述支持:
  • 从VS 2005 Web部署项目轻松地移植到VS 2008 Web部署项目
  • 在web部署项目编译成功时才替换其输出
  • IIS7支持

下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyId=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&displaylang=en
posted @ 2008-02-13 16:19 阿一 阅读(176) | 评论 (2)编辑

2008年1月26日 #

今天在开发过程中,遇到一个错误。



后来检查了一下,原来是一个页面有两个<form>造成的。

posted @ 2008-01-26 11:38 阿一 阅读(33) | 评论 (0)编辑