17 Jul 2009

知识死角,name相同的html element

今天在帮同事调程序时发现了这个死角
现象如下,没有任何输入的textarea提交到服务端后得到的值总是”,”
找了半天发现是因为页面上两个textarea的name相同,以前只知道页面上radio的name相同则是一个组,name相同的
的checkbox提交后是以逗号分隔值的,于是做了下面代码的试验,发现任何name相同的element提交到服务端都会得到逗号分隔的值,以前还不知道这个,汗

<%@ Page Language=“C#“ %>

<script runat=“server” languag=“c#”>
    string textboxValue = string.Empty;
    string radioValue = string.Empty;
    string checkboxValue = string.Empty;
    string selectValue = string.Empty;
    string textareaValue = string.Empty;
    void Page_Load(object obj , EventArgs args)
    {
        placeHolder.Visible = false;
        System.Web.HttpContext ctx = System.Web.HttpContext.Current;
        if(ctx.Request.HttpMethod == ”POST”)
        {
            placeHolder.Visible = true;
            textboxValue = ctx.Request.Form[“textbox”];
            radioValue = ctx.Request.Form[“radio”];
            checkboxValue = ctx.Request.Form[“checkbox”];
            selectValue = ctx.Request.Form[“select”];
            textareaValue = ctx.Request.Form[“textarea”];
        }
    }
</script>

<!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>
<style>
body, h1, h2, h3, h4, h5, h6, hr, p, ul, ol, li,pre,fieldset, lengend, button, input, textarea,{
    margin: 0;
    padding: 0;
}
body,button, input, select, textarea {
    font: 13px/1 Tahoma, Helvetica, Arial, ”\5b8b\4f53”, sans-serif;
}

#page{
    padding:10px 30px 10px 30px;
}
#s{
color:red;
}
input,select,textarea{
    clear:both;
    float:left;
    margin:5px;
}

pre {
    overflow: auto;
    border: 1px dotted #281;
    background-color: #eee;
    padding: 2px 20px 20px 10px;
}
fieldset{
    line-height:200%;
}

</style>
</head>
<body>

<div id=“page”>

<div id=“placeHolder” runat=“server”>    
            <string id=“s”>Post Data:</string>

<pre style=“max-height:30px;”>
textboxvalue:<%= textboxValue%>
radioValue:<%= radioValue%>
checkboxValue:<%= checkboxValue%>
selectValue:<%=selectValue%>
textareaValue:<%= textareaValue%></pre>

</div>

<form id=“aspnetForm” method=“post”>
                <fieldset>       
                  <legend>Test</legend>              
                <input type=“text” name=“textbox” value=“a”/> 
                <input type=“text” name=“textbox” value=“a”/>
                <input type=“text” name=“textbox” value=“a”/>
                <input type=“radio” name=“radio” value=“a” />
                <input type=“radio” name=“radio” value=“a” />
                <input type=“radio” name=“radio” value=“a” checked=“checked” />
                <input type=“checkbox” name=“checkbox” value=“a” checked=“checked” />
                <input type=“checkbox” name=“checkbox” value=“a” checked=“checked” />
                <input type=“checkbox” name=“checkbox” value=“a” checked=“checked” />
                <select name=“select”>
                                   <option value=“a”>a</option>
                </select>
                <select name=“select”>
                                   <option value=“a”>a</option>
                </select>
                <select name=“select”>
                                   <option value=“a”>a</option>
                </select>
                <textarea name=“textarea”>a</textarea>
                <textarea name=“textarea”>a</textarea>
                <textarea name=“textarea”>a</textarea>
                <input type=“submit” value=“Do PostBack” />
            </fieldset>
            </form>
    </div>

</body>
</html>

15 Jul 2009

C#中如何深度克隆一个对象?

如何深度克隆一个对象?

普通版:

        public static object CloneObject( object obj )
        {
            using ( MemoryStream memStream = new MemoryStream( ) )
            {
                BinaryFormatter binaryFormatter = new BinaryFormatter( null ,
                     new StreamingContext( StreamingContextStates.Clone ) );
                binaryFormatter.Serialize( memStream , obj );
                memStream.Seek( 0 , SeekOrigin.Begin );
                return binaryFormatter.Deserialize( memStream );
            }
        }

泛型版:

public  static  T  Clone<T>(T  obj)
{
        T  ret  =  default(T);
        if  (obj  !=  null)
        {
                XmlSerializer  cloner  =  new  XmlSerializer(typeof(T));
                MemoryStream  stream  =  new  MemoryStream();
                cloner.Serialize(stream,  obj);
                stream.Seek(0,  SeekOrigin.Begin);
                ret  =  (T)cloner.Deserialize(stream);
        }
        return  ret;
}

09 Jul 2009

nginx下typecho的rewrite

导数据到typecho的时候是在localhost的windows xp系统上用的apache,部署时用的是nginx
先是发现无法登陆按照这篇帖子内的方法配置了vhost.conf,发现可以登陆了,接着又出现了
无法编辑post的问题,具体症状见这篇帖子,甚是郁闷啊,google+baidu 找到一片描写wp的
rewrite的帖子,因typecho与wp笔记像,抱着试试看的想法,在测试站点试验了一下,嘿嘿
能用,转寄在此,备忘

location / {
        index index.html index.php;
        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
        }
    }

同时感谢Atlantis  :-)

04 Jul 2009

从Wordpress转到Typecho了

WP比较占资源,今天把博客又转到Typecho了,忙乎了大半夜(现在接近临晨4点),东拼西凑,南抄北挪,终于啊,皮肤基本上搞定了,发现Typecho的皮肤也蛮简单的,默认皮肤就七八个文件,照着改也蛮容易入门的。
郁闷的是现在还是在localhost上,自己点击,速度超好,刷刷刷的哦。还有就是Typecho这个版本(0.6)默认没有WYSIWYG的编辑器,只这篇post就是手写发出的,不过这样也好,以前在博客园用编辑器编辑的博客有时候因皮肤调整,会出现编辑器的html不符合皮肤,撑的页面不好看。
最搞的是我一直没找到如何处理分类排序的功能,还去官方论坛发了个贴(标准的新手贴),被告知按住拖动就OK了...
(*^__^*) 嘻嘻……

在此感谢所有TV  感谢博客园  感谢Typecho开发团队  感谢Wordpress  感谢Paint.Net  感谢PhotonVPS

感谢...

21 Jun 2009

博客园到Wordpress搬家成功!

终于把在博客园的博客的数据导入到Wordpress内了,包括随笔/文章,图片,标签,评论等,是写了两个C# console程序做到的,程序我传到博客园了,如果有需要的朋友可以试试。但请注意,要自己在博客园后台备份RSS文件放到Reader的Data目录内,设置为编译选项为永远复制,运行后会生成一个Entry.xml并且把博客内的图片和分类、Tag、评论等抓下来,然后将此xml文件拷贝到Writer内,在代码内修改一下你的Wordress的数据库连接,然后跑一下Writer,就可以完成数据导入到Wordpress了,时间匆忙,代码写的很乱,有些地方是针对本人需求处理的,如果你想要直接运行此程序完成你的博客园博客到Wordpress的转换,那是不可能滴!你一定要有简单的C#调试基础哦。

http://files.cnblogs.com/huobazi/MyBlogTools.rar

22 Apr 2009

家滨面对面

2009.04.22新任CEO杜家滨先生莅临西安,我有幸获邀参加“嘉宾面对面”活动。

前辈很随和,和我们聊了他的职业生涯,从微软中国到思科,到新蛋就当前电子商务形式以及对于中国新蛋网的未来,很认真的听却了大家对目前中国区以及中国新蛋网的看法。并现场开通了一个邮箱留给大家,诚恳的希望大家有什么好点子,都能及时通过这个邮箱与他分享。

直至聚会结束,气氛都非常融洽,前辈表现出一个职业经理人强大的亲和力!

19 Jan 2009

2008我的收获了3个本儿,一堆朋友

2008 我收获了3个本儿 结婚证,Microsoft MVP证书,newegg中国区优秀员工证书

2008我的收获

2008 我收获了Smith,Jackie,Tom,Robert,Steven Xu, Steven Liu,Ocean,Jmebo,Martin,Henson,Seaver && Ivy,Allen,Wind,Winnie,Windy&&Tony,Lily,Gamal,Vivian,Jerry等一批优秀的同事,也收获了许多来自网络(博客园,csdn社区,落伍者等)上的很多朋友,我相信2009我的朋友们和我会收获更多更多。

要回家了,10日内少上网了,在此

祝我的朋友们新的一年里心想事成,事业牛牛!!!

01 Dec 2008

把ASP.NET MVC的路由利用配置维护起来

配置大多就是文件配置或者数据库配置了


ref:


http://mnour.blogspot.com/2008/11/mvc-routing-using-custom-configuration.html


http://www.cnblogs.com/QLeelulu/archive/2008/11/24/1340212.html


http://www.iansuttle.com/blog/post/ASPNET-MVC-Store-Routes-in-the-Database.aspx


我觉得加上做webform时常用的PageAlias和BuildUrl会更好用些

01 Nov 2008

哈佛经典案例,赶集卖猪记

哈佛经典案例,赶集卖猪记(次贷危机加强篇)
  
  这是目前为止关于次贷危机最通俗易懂的版本了。
  
  1
  
  大家都知道这个案例:
  
  一男赶集卖猪,天黑遇雨,二十头猪未卖成,到一农家借宿。
  
  少妇说:家里只一人不便。
 

 
  男:求你了大妹子,给猪一头。
  
  女:好吧,但家只有一床。
  
  男:我也到床上睡,再给猪一头。
  
  女:同意。
  
  半夜男与女商量,我到你上面睡,女不肯。
  
  男:给猪两头。
  
  女允,要求上去不能动。
  
  少顷,男忍不住,央求动一下,女不肯。
  
  男:动一下给猪两头。女同意。
  
  男动了八次停下,女问为何不动?
  
  男说猪没了。
  
  女小声说:要不我给你猪……
  
  天亮后,男吹着口哨赶30头(含少妇家的10头)猪赶集去了……
  
  [ 哈佛导师评论 ]
  
  要发现用户潜在需求,前期必须引导,培养用户需求,因此产生的投入是符合发展规律的。
  
  2
  
  另一男得知此事,决意如法炮制,遂赶集卖猪,天黑遇雨,二十头猪未卖成,到一农家借宿
  
  少妇说:家里只一人不便。
  
  男:求你了大妹子,给猪一头
  
  女:好吧,但家只有一床。
  
  男:我也到床上睡,再给猪一头。
  
  女:同意。
  
  半夜男商女,我到你上面睡,女不肯。
  
  男:给猪两头。
  
  女允,要求上去不能动。
  
  少顷,男忍不住,央求动一下,女不肯。
  
  男:动一下给猪两头。女同意。
  
  男动了七次停下,女问为何不动?
  
  男说:完事了~~~女:......
  
  天亮后,男低著头赶2头猪赶集去了......
  
  [ 哈佛导师评论 ]
  
  要结合企业自身规模进行谨慎投资,谨防资金链断裂问题
  
  3
  
  又一男得知此事,决意如法炮制兼吸取教训,遂先用一头猪去换一粒伟哥,事必,天亮后,男吹着口哨赶38头(含少妇家的18头)猪赶集去了……
  
  [ 哈佛导师评论 ]
  
  企业如果获得金融资本的帮助,自身经营能力将得到倍增。
  
  4
  
  知道此法男多,伟哥供不应求,逐渐要2头,3头猪换一粒伟哥。
  
  [ 哈佛导师评论 ]
  
  这就是通货膨胀。
  
  5
  
  当伟哥价格涨到16头猪一颗的时候...
  
  [ 哈佛导师评论 ]
  
  该男已经进入边际成本,除了拥有对自身能力的自信和未来良好愿望以外,实际现猪流已经为零。
  
  6
  
  但换猪男越来越多,卖伟哥的决定,扩展生产能力,推出一种次级伟哥,如果你缺一头猪,只要你承诺可以到该女房中一夜,就可以先借,事成后补交猪款,这个方法大大促进了伟哥销售。
  
  [ 哈佛导师评论 ]
  
  这就是贷款,让企业可以根据未来的收益选择借支流动资金。
  
  7
  
  伟哥专卖店后来在即使你一头猪都没有,只要你承诺可以到该女房中一夜,就可以先借,事成后补交猪款。
  
  [ 哈佛导师评论 ]
  
  这就是金融创新,让现在的人花未来的钱,反正等你老了未来的钱你也花不动。
  
  8
  
  消息一出,换猪男越来越多,有人找伟哥专卖店,这个项目太好了,我们把它变成优质基金,对外销售债券,你们也就可以分享我的收益,如何?
  
  结果伟哥专卖店觉得甚好,于是该公司把换猪男分三类,一类是拿现猪换的,一类是一部分现猪贷的,一类是完全没有现猪借的,发行三种债券。大家踊跃而上。纷纷购买伟哥专卖店的债券,伟哥专卖店生意太好,就把债券销售外包给另外一家公司运作,该公司也一并大发其财,公司越做越大,甚至可以脱离实际伟哥销售情况来发行,给自己和伟哥专卖店带来巨大的现金收益。
  
  [ 哈佛导师评论 ]
  
  这就是专业的人做专业的事,从实体经营到资本运作,经济进入了更高的层次。
  
  9
  
  为了防止自己债券未来有损失,该公司决定给它买上保险,这样债券销售就更容易,因为一旦债券出现问题,还可以获得保险公司的赔付,哇,销售这下子太好了,保险公司也获得巨大平白无故的保险收入。
  
  [ 哈佛导师评论 ]
  
  这就是风险对冲,策略联盟,提高了企业的抗风险能力,也保护了消费者利益。
  
  10
  
  换猪男太多,排长队等待,该女无法承受,说老娘不干了,我搬家,一时间有无数拥有伟哥的欠猪男。
  
  [ 哈佛导师评论 ]
  
  这是个别现象,属于市场的正常波动,不会影响整个经济。
  
  11
  
  结果该女迟迟不肯搬回。一部分欠猪男没有收入,只好赖帐,结果大量债券到期无法换现猪吃,债券公司一看,一粒伟哥16头猪,这哪里还得起,宣布倒闭
  
  [ 哈佛导师评论 ]
  
  这是次贷危机,不会影响整个金融行业。
  
  12
  
  哪里晓得债券公司还把债券上了保险,保险公司一看,这哪里赔得起,于是也宣布要倒闭。
  
  [ 哈佛导师评论 ]
  
  这是金融危机,还不会影响整个实体经济。
  
  13
  
  后文:据说该女已搬到中国定居。

from:http://topic.csdn.net/u/20081030/09/0A743CDE-0A1D-4824-975C-B6984D545C3E.html

26 Oct 2008

次贷危机和一夜情

     有一天,一位其貌不扬的男士,带着一位十分艳丽的OL,来到Causeway Bay一家LV店。他为OL选了一价值6万5元的LV handbag。  付款时,男士掏出支票本,十分潇洒地签了一张支票。店员有些为难,因为这对夫妇是第一次来店购物。
  男士看穿了店员的心思,十分冷静地对店员说: "我感觉到,您担心这是一张是空头支票,对吗?今天是周六,银行关门。我建议您把支票和handbag都留下。等到星期一支票兑现之后,再请你们把 handbag 送到这位小姐的府上。您看这样行不行?"
 

 店员放了下心来,欣然地接受了这个建议,并且大方的承诺,递送handbag的费用由该店承担,他本人将会亲自把这件事情给办妥。
  星期一,店员拿着支票去银行入账,支票果真是张空头支票!愤怒的店员打电话给那位顾客,客户对他说: "这没有什么要紧啊!你和我都没有损失。上星期六的晚上我已经同那个女孩上床了!哦,多谢您的合作。" 这个故事揭示了次贷危机的本质。人们在对未来收益充满良好预期的时候,对于可能加大风险缺乏防范意识。美女认为周一六万多LV就到家了,自然也就放松了警惕,认为ONS的投资是值得的,对于投入产出的预期是建立在一个具有巨大不确定风险的情况下的。而对未来收益预期的包装则是这些投资机构最擅长的事情。中国的股民大多跟这个美女一样,所以亏钱基本上是活该,没有这些人,股市赚谁的钱呢。而媒体和分析家们,往往在其中扮演了LV店员的配合角色。from:http://www.im286.com/thread-2983005-1-10.html