(转)asp.net一些总结

1.字符串拼接:

string msg = "Hello, " + thisUser.Name + ".Today is " + DateTime.Now.ToString( ));

更有效率的写法:

string msg = string.Format ( "Hello, {0}. Today is {1}", thisUser.Name, DateTime.Now.ToString( ));

2.大量数据拼接则使用StringBuilder。

3.字符串的比较:

if ( str != "" )与if ( str == "" )

更有效率的写法:

if ( str.Length != 0 )与if ( str.Length ==0 )

有效率且可读性更好的写法:

if ( str != string.Empty )与if( str.Equals(string.Empty)

4.尽量避免box与unbox,因此使用集合时如果频繁更新集合内容,则推荐使用泛型。

 一、消除数组中的重复项。

    近期在做项目的时候,要求消除数组中的重复项,如过在没有LINQ前,这好像要写个函数还实现这个功能,但有了linq后,这个功能那是相当的简单的啊,如下面的代码:

 


string[] stringArray = "a""b""c""a""b""e" };

            Console.WriteLine(stringArray.Distinct().ToArray().Length);
            
foreach (string s in stringArray.Distinct().ToArray())
                Console.Write(s);
            Console.ReadLine();

 

程序执行的结果:4,abce。这样,消除数组中的重复项只需要Array.Distinct().ToArray()就可以实现。Linq这是个好东西啊。

 

    二、Textbox的readonly属性和disabled属性

    在项目中,需要经常用到这两个属性,区别如下:

  1. readonly属性

 代码:<input type="text" value="fisker" onclick="alert(this.value);" readonly />

  输入框只读,不能编辑,同样表单可以获得值。

  3,disabled

 代码:<input type="text" value="fisker" onclick="alert(this.value);" disabled />

  输入框灰色,不能编辑,以用JS改变或获得其值,但提交时并不提交该值。

 

    三、跨页面的传送中的一个问题

    跨页面的传送就是提交窗体(例如Page1.aspx),并把这个窗体和所有控件的值都传送给另一个页面(Page2.aspx)。实现这个功能就是在控件Button上添加属性PostbackUrl即可。

    但是这里需要在点击Button时,首先执行一段javascript代码后,在实现跨页面的传送,直接用Button完不成这个功能,这时候就需要另一个控件LinkButton了,然后再将LinkButton伪装成Button。哈哈。如下面的代码:

 


 <asp:LinkButton ID="LinkButtonSentEmail" runat="server" OnClientClick="getEmailString();return true;"
                PostBackUrl
="~/EmailEdit.aspx" Width="70px">发送邮件</asp:LinkButton>

 

 

 执行的javaxcript为:

 

Code

 

    但是,还有一个问题是,如何把LinkButton伪装成Button的形状,下面的CSS代码就能解决这个问题:

 


<style type="text/css">
        #LinkButtonSentEmail
        
{
            padding
: 3px;
            border
: 2px outset;
            cursor
: pointer;
            background-color
: #FFFFFF;
            text-align
: center;
            height
: 14px;
            text-decoration
: none;
            color
: #000000;
            clear
: both;
        
}
    </style>

 

    这样看起来就好像是Button出发的这个跨页面的传送了。 

    以上三个问题是我在做项目的时候遇到的小问题,把它们写下来,感觉不错。

posted @ 2008-09-28 09:52  海皮球  阅读(184)  评论(0编辑  收藏  举报