My Blog is my notepad, I want to mark my work anytime, also i can share my harvest with everyone....

Teracy 's space--->

I love BS Develop ,So i am busying as a bee.Do more,Know more,you will get more.....

博客园 首页 新随笔 联系 订阅 管理
  66 Posts :: 17 Stories :: 180 Comments :: 2 Trackbacks

2009年4月24日 #

很久没有在园子里面冒个泡泡了,一方面,工作太忙(借口);另外一方面,手里有些一些资源,正在着手转为商业用途。忙碌ing。

今天想到修改下数据库服务器的sa登陆密码,可突然忘记了,只好借助其他账户打开查询分析器修改sa的密码了,很简单:

执行:
sp_password Null,'teracypwd,'sa'
把SA的密码设为“teracypwd”

执行成功后有“Command(s) completed successfully.”  OK!

 

建议那些管理数据库的朋友们将sa账户禁用,开着是灰常灰常的危险。

 

 

posted @ 2009-04-24 12:55 Teracy 阅读(381) | 评论 (3)编辑

2008年12月31日 #

         今年是我的本命年。最高兴的事莫过于自己在程序员上的位置上进了一层,整体来说,今年有得也有失。

         得,今年年初从新蛋离职,来到了一家传统的服装公司。初来整理给我的感觉:公司一,二,三楼是仓库。4楼有好多人办公,5楼也有,因为老板在5楼,刚开始上班就在老板旁的位置上。所以也只知道5楼的人是做门店销售和代理商管理的。然后那边一大块是设计师她们。4楼的人不知道做什么的,后来才知道是做外贸奢侈品的。从3月初开始招人,边招人边策划老板想要的一个电子商务网站.因为在新蛋就是做电子商务网站的,对于电子商务网站流程我心里已很熟悉了,把流程设计图划好给老板看过,每个环节的问题讨论后确定的方案真多.记得那段时间头都是晕晕的.到3月底人员招聘快到齐了,2个程序员,两个美工,测试人员预计5月初开始招.就这样加上我3个程序员和两个美工,开始了一味生活网的设计,开发.整整3个多月的时间,把前后台终于整出了一个样子,功能都已实现了,开始招市场部人员,客服,货控等等人员.逐渐的人员配置都齐了,网站预计8月8号上线,可巧的是奥运也是这天开始,我们的广告不好投放.然后和老板商量,网站上线到8月18号.第一次,因为产品图片的问题,真费了不少心思.拍照,修图,生成,工序又不能少,质量要求也很高.好不容易到8月18号上线的时候图片还是很多暂无的图片.那个时候真够揪心的.记得刚上线第一个活动是:"注册就送",活动一爆出,第一天的注册量达到了1万多,接近两万.什么广告都没有打,传递真快.第二天,第三天,平均每天的注册量在1万5以上.市场部看到的是网站的希望,真高兴.技术部的我看到的是服务器的负载能力.高兴的是会员这么快就这些了,同时真担心服务器再这样是不是会崩溃.因为在新蛋的时候服务器达到8台,而我们的web服务器就一台.服务器的安全性配置,我们是检查了又检查,晚上回家凌晨1点多了还看看网站还能不能打开.好不容易熬了快半个多月,网站运行一直蛮正常的,心渐渐的平静了很多,或许习惯了就好吧,现在也不用担心那么多了.到现在,网站开业到现在出现的几个大的问题:上线的时候有个同事用了个Application的变量,因为是全局应用级别的,一下让很多用户的券使用都出了问题,因为第一天上线,我开始也没有注意到这里,出现这样的问题后我焦急的午饭都没有吃,找到原因后立马修改,发布.第二个就是对客户影响不是很大的,库存总是对不上号来,有的多有的少,我就觉得纳闷了,在新蛋生成订单也是用的这个事务方法,库存锁住没有问题的啊.怎么这里好像老是有问题呢,那段时间一位太忙,没有时间研究这个,只好自己写一个sql脚本,每天执行一次,把库存平衡.到了9月初,我查了好多资料,事务是没有问题的,再一次相信我们的事务没有问题的.然后我就让我们开发人员将每次涉及到库存修改的地方全部用事务,前,后作废订单,订单出库,系统作废订单全部用事务的时候发现之前有个方法foreach循环的时候有个变量的值没有变,在外面定义了一个临时变量i一直等于1,所以如果某个订单有两或者三件商品作废的时候第一个商品的库存会多一个,第二个商品又会少一个.之前真没有想到问题出现在这里,把这里修复后再也没有库存不对的情况了.后面程序上就没有什么大的问题了.然后和业务部门打交道,感觉这里的人真不会程序员考虑的,上午提的需求恨不得吃午饭前发布上线,中午提出的需求恨不得下班前在网站上体现出来,真不敢想象,他们急性子也太急了点,只知道要功能,要效果,但从不考虑网站的稳定性,这点上我的压力最大了,网站不稳定或者出了BUG,所有的眼睛会看着我,好像在说:小蔡,咋做的呢?而我感觉是无辜的,谁愿意出问题啊.我也不只一次说网站以这样的速度更新,质量上很难保证.可这话似乎就没有人听见.我只能对自己说:因为大家都在为市场部着急,一切以市场动态为重.然后出了问题,大家看着我我也没有办法啊,只能抓紧时间改呗.昨天就因为一个问题,加班到11点多才能回家,这累业务部门肯定不知道,他们都在家呼呼大睡了.唉.....命苦的技术人员啊.说着说着好像在说工作了,确实,今年真的是整整忙了一年,从头到尾没有怎么休息过.一心都在工作上.今年最大的收获莫过于将这个网站开起来了,今天早上还看了下销售额,也还过得去,毕竟,下半年整体经济形势都不好嘛.

         失,我不知道在忙碌的工作中无形的失去了什么,感觉休息时候真比去年少了很多,脑细胞少了不少.白头发多了很多.要比别人想得事情更多.没有办法,谁叫自己在这个岗位上.如果说走出去,别人可能会觉得一个不起眼的小孩子似的.但事实不是这样的,我没有很强的语言表达能力,但我一直在努力做好每一件事,处理好每一个需求.
       
         08年今天最后一天,我无愧面对今天的现实,我可以说我从来没有碌碌无为过一天.09年即将呈现在我们面前,我仍以饱满的热情面对工作,生活.按照自己的职业规划一步一步走下去.

         同时祝园子里面的朋友们:新年快乐!事业顺利!

        走LZ们的路,让SB们无路可走. ^=^
posted @ 2008-12-31 15:43 Teracy 阅读(159) | 评论 (2)编辑

2008年12月28日 #

08年年初,电视台暴光了山寨版的手机.紧接着,这样那样的山寨版本开始在民间流传了.
山寨版的笔记本听说也要出来了,才1000RMB左右.
在我们互联网,山寨版已经早已不稀罕.严格的说:百度就是Google的山寨版本.还有很多很多.在NEWEGG的时候就看到过很多和newegg一样的网站。同事间就说:这到底是哪个抄哪个的.
最近呢,又发现一个和我们百姓网很相似的网站:
呆兔网,  http://www.deeto.cn

信息量暂时还不是很多,但他们推广手段值得我们很多人学习:注册就直接送钱.不多,2元,但要求一个好朋友注册就送5元钱,这个就不少了.这样拿个上百块钱真的很容易了.随时可以提取现金.

这年头,有钱什么都好做,没钱啥都做不了.山寨这东西到底啥样,还请各位发布意见看看:

   

posted @ 2008-12-28 14:09 Teracy| 编辑

2008年12月26日 #

        最近公司的销售进去了非一般的困难时期,我们的开发的也是,忙着这样那样的紧急活动,公司的流程似乎一下不见了,不知道市场部有没有经验,也或许是销售业绩的影响,她很能忽悠,但是每次的活动都没有看到成绩,让我们都很失望.看到她提过来的需求,很多很多只能用无语形容.没有办法,开发部的任务就是为业务部门实现他们想要的功能.因为一切都好象早摸索中,最辛苦的都是我们开发人员,作为组长,有的时候不得不和他们争论他们的需求的合理性.一方面,我不想让我们组员做一些无用功,另外一方面,需求的急切让网站的稳定性.几乎每个礼拜都会有这样的情况,真怀恋在新蛋电子商务网的时候,虽然也很忙,但还算有序.在这里感觉是忙而无序.
        为什么说市场部有没有经验呢,注册会员有了个10多万,老板想怎么激活这些客户,市场部想的办法就是整天循环的发EDM.发手机短信.导致客户上来留言对我们抱怨发牢骚了.现在手机短信收敛了点,但是EDM还得发.写了几个发邮件工具,总存在这样那样的问题,群发邮件与单个邮件不同,要考虑是否会投递成功,中间某个失败了怎么半.邮件怎么取.每封邮件的时间间隔,对数据库的压力..........实践了好几次,终于总结出一个工具.用密抄的形式,这样可以几十,几百甚至几千倍的减少发送量了.花了两天时间把这个整理好了.需要的朋友可以加我的QQ群74368413,到群空间去下载EmailSender.rar.前15名可以得到免费的无限制的发送量,之后的免费版都是试用版每天的发送量是有限的.
       欢迎使用并提出宝贵的意见和建议,我会努力完善的.

 

posted @ 2008-12-26 13:51 Teracy 阅读(175) | 评论 (0)编辑

2008年12月19日 #

作为一个程序员,在完成设计后还要根据程序的情况以及用户的反映不断对程序进行改进,这样才能不断地完善自己的作品。我们发现人们总喜欢在帖子中加上各种有用的URL链接或Email地址。而我们开发人员很少考虑到这一点,使得这些URL链接或Email地址只能以文字的形式而并不是以超链接的形式显示,其它浏览帖子的人还必须把这些URL链接拷贝到浏览器中或把Email地址拷贝到Outlook中才能转到相应的链接地址或发送电子邮件到相应的Email地址。
    发现这个问题后,我就着手进行解决。首先是从网上查找有关这方面的现在代码,可惜的是,在搜索引擎上反复查找也没有发现这方面的文章。后来我一想,干脆我自己用ASP.NET编写一个。
    要想自动显示超链接的关键在于如何能正确识别超链接,毫无疑问的,最有效的方法是用正则表达式。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式,描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,用它就可以自动探测出文字中的URL链接或Email地址。下面我具体讲讲如何用ASP.NET(C#)一步步实现我们的目的:

首先,要想在ASP.NET(C#)中使用正则表达式就必须把 System.Text.RegularExpressions 这个命名空间包含进来:

using System.Text.RegularExpressions;

第二步是用正则表达式识别URL超链接:

Regex urlregex = new Regex(@"(http:\/\/([\w.]+\/?)\S*)",
   RegexOptions.IgnoreCase|RegexOptions.Compiled);

这里的代码是用正则表达式识别Email地址:

Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+)",
   RegexOptions.IgnoreCase|RegexOptions.Compiled);

第三步,当程序已经识别出URL超链接或Email地址后,必须用<a href=...>超链接</a>对这些超链接进行替换,这样才能把这些文字显示为链接的形式。我这里把它们全部包含在函数中:

private void Button1_Click(object sender, System.EventArgs e)
{
   string strContent = InputTextBox.Text;
   Regex urlregex = new Regex(@"(http:\/\/([\w.]+\/?)\S*)",
                    RegexOptions.IgnoreCase| RegexOptions.Compiled);
   strContent = urlregex.Replace(strContent,
                "<a href=\"\" target=\"_blank\"></a>");
   Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+)",
      RegexOptions.IgnoreCase| RegexOptions.Compiled);
   strContent = emailregex.Replace(strContent, "<a href=mailto:></a>");
   lbContent.Text += "<br>"+strContent;
}

通过以上几步,你就可以在网页上自动显示超链接以及Email地址了。
欢迎大家来到天涯联盟网查看更多文章 www.yy0808.com

posted @ 2008-12-19 22:29 Teracy 阅读(239) | 评论 (0)编辑

2008年12月14日 #

中国互联网的十多年来,很多企业一直都在利用互联网销售产品并获得成功,互联网能够大大节省企业销售成本。许多客户在与Seo360合作后,都会再追加优化费用,并强调不要接客户同行的单子,说明当中国的企业发现一个好的推广方式,是不愿意和其他企业分享的甚至自己的亲友,也正是这点限制了SEO网站优化行业在中国的普及进程。
但很多公司仍看不到互联网在当今竞争环境的重要性。如果你的企业或部门尚未体会到的互联网重要作用;没真正利用好互联网;没通过互联网尝到甜头。搜索引擎优化能起到让你的企业迈开网络营销的第一步,以增强你对互联网的认知,也许你应该考虑以下事实:
互联网飞速发展的今天,买家通过互联网找卖家,许多买家在互联网找到了性价比最适合的产品,那么你是否还在疲于扫楼式的营销?就汽车举例说,许多当今消费者使用搜索引擎来查找汽车资料,对不同品牌汽车比较,在家里舒适的了解各类车型的动态,因为互联网容易获取最新价格信息及产品信息,互联网已经成为买家找寻产品的第一步,来达到他们货比三家的目地,不管货比三家还是货比多家,那么你的企业是否能成为其中一家?
当买方使用互联网索取卖方资料作出购买决策,由于所有这些信息对不同的客户使用,更好的方法可以运来搜索引擎来锁定目标客户,而不是一定要巨额的宣传费用来通过电视,电台,报纸,广告牌或其它宣传你的企业产品。 如果你的企业产品不是大众消费品,这些宣传方法会浪费你大量的时间和金钱,因为这些宣传形式没有能力针对某一特定类型的客户,搜索引擎将提供给你企业最有潜力的行业目标卖家。 当然搜索引擎的竞价广告也是一笔不菲的开支,比如我的客户湖北某专用汽车公司其中一个产品:洒水车,在搜索引擎上每次点击费用达到十元以上,平均每天在搜索引擎要花掉一千元以上。那么怎么来降低搜索引擎竞价的费用又保证了效果呢?我给这家生产专用汽车企业的建议是:销售旺季可以适当的增加竞价排位广告,平时可以借助seo网站优化技术来保证有效买家的访问。湖北东风程力汽车欣然接受了我们的建议,我们Seo360也为客户做到了,因为这家专用汽车企业有足够多的网站,我们也有针对性的为其提供了“站群优化”。
搜索引擎是一个很好的买卖平台,解决了买卖双方“供求信息不对称”。一个优秀的采购员可以使用搜索引擎找到价格质量最适合的卖家,在很短的时间即可完成采购并得到领导的赞赏。人们很容易地看到,在互联网上可以节省公司大量间接费用的同时,还提供极大的价值和服务给消费者。
搜索引擎创建了一个全球认可,并提供进入世界各地市场的入口。那么在有限的时间有限的费用,怎么更好的切入,方法及时机要把握得当,若你需要,Seo360愿意与你分享在搜索引擎营销上的点滴想法。

更多相关文章请见 www.yy0808.com   天涯联盟技术社区
posted @ 2008-12-14 00:35 Teracy 阅读(194) | 评论 (0)编辑

2008年12月9日 #

Google排名的方法虽然复杂,但是并不神秘。首先,我们要了解营销Goole排名效果的因素,Google的排名因素对于外界来说一直都是秘密,因为Google作为世界上搜索引擎行业的老大,要维护自己搜索质量最高,必须保密它自己的排名因素,并且不断的改变它的排名因素。国内外的SEO已经只能靠自己的观察、试验去不断的总结。本站顾问王通根据自己对Google长期的研究以及对自己60多个案例的实践进行总结。 王通认为:做Google排名如果一味的去研究Google排名投机取巧的方法,很容易陷进去出不来。我们古人有句非常有哲理的话:万变不离其宗!所以我们要顺着Google的思路去做。一般而言,Google希望的是自己搜索出来的网站都是质量非产高的网站。 那么我们做Google排名,只要掌握Google排名的最基本的因素就足够了, 我们追求的目标是让自己的网站成为同行中比较出色的网站,细节方便再做的细致一些,我们的网站自然的就可以在Google中获得较好的排名。

  因素1: 你选择的关键词是否正确?

  如果你的关键词选择错误了,及时你在GOOGLE中获得了非常好的排名也等于白费。所以,想通过Google排名获得较好的效果,必须选择好自己的关键词!

  对于关键词的分析,中文的目前还没有准确的工具,主要依靠关键词的搜索量和职业经验以及网站流量分析来综合判断。

  对于英文关键词,大家可以借助相关的工具, 英文关键词建议工具请到Google排名工具栏目找。

  因素2: 你的网站是否有利于Google搜索?

  目前,大多网站首页都用FLASH , 甚至真个网站都用FLASH, 用框架网页,用JS代码等。 这些网页都非常不利于Google的搜索,所以这类网站的大部分页面想让Google收录,是非常困难的。

  那么,我们就要了解Google的喜好了。Google等搜索引擎都比较喜欢HTML格式的静态页面,所以网页能静就不要动。因为我们做网站主要的不是为了看起来漂亮,也不是为了管理起来更轻松,而是为了让它帮我们赚钱。 一句话: 不赚钱的商业网站都是病态的,必须经过专业的网站优化才能让它气死回生帮你赚钱!

  网站优化包括:网站结构优化,网站标签优化,网页优化,超链接优化,网站程序优化等。细节方面由为重要!

  这个过中需要用到许多相关的工具(可以到Google排名工具),以及需要注意相当多的细节问题。

  另外,网页优化对于

  Google排名是非常主要的基础工作,但是单一的网站并不能很快的获得较好的排名,详细可以参考下文《Google排名不是简单的网页优化》

  预了解我们的网站优化服务请点击这里 --> 网站优化服务

  因素3: 你网站的PR值是否比竞争对手高。

  PR值是Google的PageRank的缩写, PageRank是Google发明的具有Google特色的网页评分制度,它已经获得国际专利,它是Google最重要的技术之一。什么是PageRank? 如何提高网页的PR值,请参阅下文:《轻松了解PageRank的秘密》

  虽然PageRank 是网页排名的一个重要因素,但是它并不是绝对因素,我的很多试验都证明,许多PR值低的网页都比PR值高的网页排名好。 Google排名靠的是综合因素!

  因素4: 你网站的流量基础?

  试验证明,Google对不同的网站,更新速度不一样,Google对于那些流量比较大的网站,几乎天天更新,但是Google对于一些没有流量的网站,几乎是一个月都难更新一个词。

  让一个没有流量的网站在短时间内获得一定量的基础流量,需要众多的网络营销资源,以及专业的操作。

  因素5:其他因素

  其他排名因素还有非常多,需要不断的观察Google,研究Google,不断的试验。如果你想做专业的SEO,请到我公司所开设的非赢利型网站 --- 搜索引擎优排名研究社区和其他的SEO交流。只要你的悟性好,善于交友,和朋友沟通.我相信,一年以后,只要你还坚持着研究Google排名,你也会是一个不错的SEO!

  Google排名技巧没有可以投机取巧的,只能靠专业的操作,把你的网站做称同行中的优秀的网站,自然可以达到排名。 这样达到的效果,随着时间的积累,会越来越稳定,越来越好!

--------更多经验博文请见:   www.yy0808.com

posted @ 2008-12-09 16:13 Teracy 阅读(173) | 评论 (0)编辑

2008年12月7日 #

对于加载时间比较长的ASP.NET页面,我们可以在客户端浏览器中显示进度条来显示页面正在装载。下面就是具体的实现过程:
  
  1.新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可;
  2.在模板类型中选择ASP.NET Web应用程序;
  3.位置里输入:http://localhost/WebPortal;
  4.添加新项:名字为ShowProgress的Web窗体。
  5.在您的Web窗体ShowProgress.aspx上添加任何其他的Web服务器控件。
  6.在ShowProgress.aspx上单击右键,点“查看代码”,在最上面输入:
  Visual C# .NET代码
  using System.Threading;
  
  Visual Basic .NET代码
  Imports System.Threading
  
  7.在Page_Load事件里输入: Visual C# .NET代码
  Response.Write("<div id='mydiv' >");
  Response.Write("_");
  Response.Write("</div>");
  Response.Write("<script>mydiv.innerText = '';</script>");
  Response.Write("<script language=javascript>;");
  Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
  Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;");
  Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}");
  Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ");
  Response.Write("window.setInterval('ShowWait()',1000);}");
  Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';");
  Response.Write("window.clearInterval();}");
  Response.Write("StartShowWait();</script>");
  Response.Flush();
  Thread.Sleep(10000);
  
  Visual Basic .NET代码
  Response.Write("<div id='mydiv' >")
  Response.Write("_")
  Response.Write("</div>")
  Response.Write("<script>mydiv.innerText = '';</script>")
  Response.Write("<script language=javascript>;")
  Response.Write("var dots = 0;var dotmax = 10;function ShowWait()")
  Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;")
  Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}")
  Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ")
  Response.Write("window.setInterval('ShowWait()',1000);}")
  Response.Write("function HideWait(){mydiv.style.visibility='hidden';")
  Response.Write("window.clearInterval();}")
  Response.Write("StartShowWait();</script>")
  Response.Flush()
  Thread.Sleep(10000)
  
  8.在ShowProgress.aspx窗体的html的中输入:
  <script>
  HideWait();
  </script>
  
  9.点在浏览器中查看即可。

本文转自 天涯技术网: www.yy0808.com ,更多详细的技术文章,大家也可以访问我的技术网.希望 www.yy0808.com 能为我们的技术人员带来帮助.
posted @ 2008-12-07 20:37 Teracy 阅读(313) | 评论 (1)编辑

2008年12月6日 #

前言:  很久没有写东西了,最近忙着自己的技术网站的发布. 希望我的技术网能给大家的工作带来更多的帮助.  www.yy0808.com

Asp.Net2.0的客户端回调是一种很让人激动的方法,他能够让我们控制要提交什么数据给服务器而不用提交整个页面,同时服务器也只返回你所需要的数据而不要发回整个页面。

  首先我们要说一个很重要的方法:GetCallbackEventRefernce.我把我的理解写出来,可能是错误的,恳请指出,非常感谢!

  GetCallbackEventReference首先实现让客户端脚本有能力传递参数给服务器端的RaiseCallbackEvent方法,然后返回RaiseCallBackEvent方法的值给你在GetCallbackEventRefernce方法中注册的一个参数(其实也是一个你要在客户端写的脚本)。调用GetCallbackEventRefernce你必须从客户端脚本中传递给他两个参数,一个是要传递给RaiseCallbackEvent事件的值,一个是context.

  他的参数意义如下:

  第一个:实现了ICallbackEventHandler借口的页面或者服务器控件,写this代表但前页面。

  第二个:代表你从要从客户端传递给服务器RaiseCallbackEvent方法的值

  第三个:你要在客户端写的一个js函数,同时,服务器也会把计算得到的数据传递给这个函数做为这个函数的参数。

  第四个:context具体什么意思我也不太清楚GetCallbackEventRefernce发送到了客户、端的代码是这样的:

WebForm_DoCallback('__Page',arg,ReceiveServerData,context,null,false) 

  那么我们要怎么样做才能够从客户端调用他呢?看到了三中方法:

  第一种:在后台写个public string,在Page_Load中给他赋值为:=Page.ClientScript.GetCallbackEventReference(this, "message", "ShowServerTime", "context");注意在这里是Page.ClientScrip,因为他会返回个ClientScriptManager,ClientScriptManager管理所有的客户端脚本。然后在前台某个按钮的onclick事件里<%=那个public后台字符串%>.做个小实验代码如下:

  前台ServerTime.aspx:为了方便去掉好多没用的html

<%@ page language="C#" CodeFile="ServerTime.aspx.cs" Inherits="ServerTime_aspx" %>
<html>
<head>
<title>Server Time</title>
<script language="javascript">

function GetServerTime()
{
 var message = '';
 var context = '';
 <%=sCallBackFunctionInvocation%>
}

function ShowServerTime(timeMessage, context) {
 alert('现在服务器上的时间是:\n' + timeMessage);
}
</script>
</head>
<body>
<form id="MainForm" runat="server">
<input type="button" value="得到服务器端时间" onclick="GetServerTime();" />
</form>
</body>
</html> 

  后台:

using System;
using System.Web.UI;

public partial class ServerTime_aspx : Page,ICallbackEventHandler
{
 //一定要实现ICallbackEventHandler借口
 public string sCallBackFunctionInvocation;

 void Page_Load(object sender, System.EventArgs e)
 {
  sCallBackFunctionInvocation = Page.ClientScript.GetCallbackEventReference(this, "message", "ShowServerTime", "context");
 }

 public string RaiseCallbackEvent(string eventArgument)
 {
  return DateTime.Now.ToString();
 }
}

  运行,点按钮结果如下:

  第二种方法:在上面的方法中我们必须要在前台绑定后台,那么如果不绑定呢?我们这样做:

  直接把GetCallbackEventReference当做js函数中的一个实现内容,然后把这个js函数注册到客户端。

  前台TestPage代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="TestPage" %>
<html>
<head>
<title>Untitled Page</title>
<script type="text/javascript">
function test()
{
 var lb = document.getElementById("Select1");
 //取的那个下拉框
 var con = lb.options[lb.selectedIndex].text;
 //得到你选择的下拉框的文本再调用呢个CallTheServer,是一个由服务器端输出的js函数
 CallTheServer(con,'');
}
function ReceiveServerData(rValue)
{
 Results.innerHTML = rValue;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="Select1">
<option value=1 selected="selected">老鼠徒弟</option>
<option value=2>吴旗娃师傅</option>
</select>
<br />
<br />
<input onclick="test()" value="从服务器返回下拉框文本" type=button>
<br />
<br />
<span ID="Results"></span>
<br />
</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;

public partial class TestPage : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
 protected void Page_Load(object sender, EventArgs e)
 {
  String cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context");
  String callbackScript;
  callbackScript = "function CallTheServer(arg,context)" +"{ " + cbReference + "} ;";
  Page.ClientScript.RegisterStartupScript(this.GetType(),"abcdefg",callbackScript, true);
  //第四个参数代表是不是要自动给着脚本加上<script type="text/javascript"></script>标记,当然要加啊
 }
 public String RaiseCallbackEvent(String eventArgument)
 {
  return "你选择的是" + eventArgument;
 }
}

  下面是执行结果:

  第三种:前面两种都是<input type="button"的html控件,那么如果是服务器按钮呢?当然也可以,在后台添加服务器按钮的onclick 属性。

  前台third.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="third.aspx.cs" Inherits="third" %>
<html>
<head>
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="Select1">
<option selected="selected" value=1>老鼠徒弟</option>
<option value=2>吴旗娃师傅</option>
</select>
<asp:Button ID="Button1" runat="server" Text="这是个服务器按钮" /></div>
<div id="div1" />
<script type="text/javascript">
function Re(ret)
{
 document.getElementById("div1").innerHTML = ret;
 alert(ret);
}
</script>
</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;

public partial class third : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
 protected void Page_Load(object sender, EventArgs e)
 {
  //第四个参数为null,因为你不可能再在js中给他传参数了
  string str = Page.ClientScript.GetCallbackEventReference(this,"document.getElementById('Select1')._
       options[document.getElementById('Select1').selectedIndex].text","Re",null);
  //return false是为了防止提交窗体
  Button1.Attributes.Add("onclick",str+";return false;");
 }

 #region ICallbackEventHandler Members
 
 public string RaiseCallbackEvent(string eventArgument)
 {
  if (eventArgument == "老鼠徒弟")
  {
   return "老鼠徒弟:人生如鼠,不在仓就在厕!";
  }
  else
  {
   return "吴旗娃师傅:自信自强,乐观向上";
  }
 }
 #endregion
}
 

  小技巧,当你写完System.Web.UI.ICallbackEventHandler后,把鼠标移上去,那么System前面会有个小图表,点他会自动写好那个RaiseCallbackEvent代码,效果如下;


  第三个感觉最差!

更多精彩文章请登陆    http://www.yy0808.com        我最近做的技术网站.谢谢大家的支持.

posted @ 2008-12-06 16:55 Teracy 阅读(1688) | 评论 (1)编辑

2008年11月23日 #

来到一味生活工作快一年了,从搭建框架到系统测试,再到8月18号上线,从上线到现在,经历了很多在技术人员看来无法想象的事情,有过欢笑,也有过争论.当然,一个项目的进行肯定不是一帆风顺的.还好我的忍耐心比较强.但有的时候想一想,作为技术主管,如果自己不强势点,我的兄弟们肯定得好辛苦,没有办法,只能豁出去了.开张3个月,随着业务部门的需求,现在已经是第二个版本了.哎.......谁叫我们做的是一个追求时尚的女装网啊,要是还做得没有凡客,PPG好看,也说不过去.要是我们的设计人员的水平再高点点.一次性做到让他们来追我们的风格就好了,呵呵.为了不忘记我们组在过去的辛劳,我还是把每次的改版做一个截图纪念,希望以后的版本越来越好看.
index_1.jpgindex_1.jpgindex_2.jpg
posted @ 2008-11-23 15:53 Teracy 阅读(340) | 评论 (0)编辑

2008年11月4日 #

各位园子的朋友,上班的时候忙伐,好久冒来这里给大家打个招呼了,实在是太忙了,今天来这里是给大家推荐一个上班的时候放松放松的地方:
http://www.ppyouxi.com/html/humor/20080325/f0905a04309408c2a644ef8f1fe1aa18.html  这里有好多在线游戏哦,蛮有意思的.
posted @ 2008-11-04 16:55 Teracy 阅读(425) | 评论 (1)编辑

2008年5月24日 #

     摘要: 前言:已经快半年没有来这里写一写技术文档了,从年后开始,来到一家传统的服装的公司,并开始组建一个新的开发团队,为公司的转型开始做准备。公司的老板看到了淘宝的强大,PPG在以服装行业的身份在电子商务的崛起,时尚起义,凡客成品……..从数码产品到服装行业,电子商务逐渐的融入了每个行业。从组建团队到开始项目设计,到程序开发到现在,已经经历了快3个月了。我们的进度进展的很顺利,一直都在按进度进行着。遇到问... 阅读全文
posted @ 2008-05-24 10:29 Teracy 阅读(653) | 评论 (5)编辑

2008年4月7日 #

招聘Net软件工程师,测试工程师:

Net软件工程师职位描述:
1.   熟悉使用VS2005,SQL 2005的开发工具
2.   有BS开发经验;
3.   精通ASP.NET+MS SQL的开发;
4.   熟悉HTMLXMLJavascript,熟悉CSS+DIV开发,对AJAX技术有一定的研究
5.   熟悉常用的算法思想,解决问题能力强;
6.   并具有一年以上实际项目开发经验;
7.   工作认真负责,喜欢钻研,有良好的团队协作精神。
 
任职要求:
1.   本科以上学历;
2.   有BS开发,大型网站项目开发者优先;

测试工程师职位描述:
1.  熟悉使用各种测试软件,测试的基本流程,有一定的测试经验;
2.  了解Web开发语言:asp.net,xml,webService,sql;
3.   熟悉单元测试,黑盒/白盒测试;
4.   对网站的性能测试和分析有一定的认识;

任职要求: 

有一定的web测试经验者优先,熟悉Bug管理流程者优先;

欢迎在上海的同行加入我们的团队

有意着可以将简历发到我的邮箱:Teracy_cyy@hotmail.com
posted @ 2008-04-07 09:56 Teracy 阅读(607) | 评论 (10)编辑

2008年3月5日 #

现急需招聘技术人员4名,

职位描述:
1.   熟悉使用VS2005,SQL 2005的开发工具
2.   有BS开发经验;
3.   精通ASP.NET+MS SQL的开发;
4.   熟悉HTMLXMLJavascript,熟悉CSS+DIV开发,对AJAX技术有一定的研究
5.   熟悉常用的算法思想,解决问题能力强;
6.   并具有一年以上实际项目开发经验;
7.   工作认真负责,喜欢钻研,有良好的团队协作精神。
 
任职要求:
1.   本科以上学历;
2.   有BS开发,大型网站项目开发者优先;


有意着可以将简历发到我的邮箱:Teracy_cyy@hotmail.com
posted @ 2008-03-05 16:36 Teracy 阅读(1245) | 评论 (12)编辑

2007年12月21日 #

工作了快两年了,从今年一开始就进了上海新蛋电子商务公司,在这里工作了快两年了,很快又要过年了,新的一年即将到来,在这过去的两年中,做过的东西不多,一年的CS开发,一年的BS开发,这一年中一直都在做BS开发,从进新蛋公司一直到现在,一直都在做着我们前台网站,以前David在公司的时候作为我的组长,对我的帮助很大,我很谢谢他,当我收到他的邮件向我们告别的时候我感到特别失落,我也回了邮件,感谢他这一段时间来对我工作中的帮助.他也回了邮件,希望我们以后还有机会公事.从他离开公司后我们Ecommence Team就开始进入忙碌的季节了,很多需求需要自己去确认,讨论了.工作任务和压力更大了,从9月份一直到现在我从来没有闲过,一天看到David的MSN说今天整整工作了5个小时,让我很感叹,我每天早上有的时候早餐都来不及吃,以前中午还看看新闻,现在都没有时间看新闻了,一天至少8个小时满满的工作着.想想以前的时候,每个礼拜四,礼拜五下午我基本上可以自己看看博客园的一些新的技术,一些好的文章,自己研究自己赶兴趣的AJAX,然而,现在已经没有那样的时间了.一晃,时间过的真快,一年就这样过去了,记得年后来上海的那一幕幕还记忆犹新,到长沙住了一晚,到江西住了一晚才到上海,一路上从来没有这么辛苦过.很快又要过年了,自己又大了一岁了,明年是自己的本命年了,不知道明年在自己的本命年能取得什么样的成绩,首先希望自己能继续能把新蛋的网站做的更好,性能上更加好,为公司的顾客提供更好的购物的平台,给顾客一个更好的购物体验.
生活上,没有什么好说的,再过10天,新的一年就要开始了,新的一年,新的生活,抛开一切烦恼,让己更加成熟,技术上积累更多的经验.不管2007年自己是成功的还是失败的,我已经努力了,我觉得自己已经做的最好了.2008年继续努力..............Do my Best!
posted @ 2007-12-21 21:34 Teracy 阅读(470) | 评论 (4)编辑

One Two Three 向“前”走............
frontpage tracking
Sony Style Coupons