ASP.NET的一點小總結

來源:互聯網
上載者:User

    一、消除數組中的重複項。

    近期在做項目的時候,要求消除數組中的重複項,如過在沒有LINQ前,這好像要寫個函數還實現這個功能,但有了linq後,這個功能那是相當的簡單的啊,如下面的代碼:

Code
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。哈哈。如下面的代碼:

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

 

 執行的javaxcript為:

Code
 <script type="text/javascript" language="javascript">
        function getEmailString()
        {
            var gHiddenFieldEmailAddress;
            gHiddenFieldEmailAddress=$get("HiddenFieldEmailAddress");
            gHiddenFieldEmailAddress.value="";
            
            var elements=document.getElementsByTagName("input");
            for (var i = 0; i < elements.length; i++) {
               var e = elements[i];
               if (e.type == "checkbox" &&  e.checked &&e.id!="checkAll") 
                  if(e.value.trim()!="")
                    gHiddenFieldEmailAddress.value+=e.value+",";
            }
        }
    </script>

    但是,還有一個問題是,如何把LinkButton偽裝成Button的形狀,下面的CSS代碼就能解決這個問題:

Code
<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出發的這個跨頁面的傳送了。 

    以上三個問題是我在做項目的時候遇到的小問題,把它們寫下來,感覺不錯。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.