如何讓aspx頁面也能用到商務邏輯層的擴充方法

來源:互聯網
上載者:User

在VS環境中,我們偶爾甚至經常會在應用程式中寫擴充方法,以便可以"點點點"一直到我們的目標,這樣省時省力,雖然資源有小小的消耗,對於我這種比較懶的人來說,這實在非常有用!!!

 

例如我經常會擴充String的方法,比如直接截取字串方法:

        public static string GetSubStr(this string orgStr, int length) {
            return  orgStr.Length > length ? orgStr.Substring(0, length) : orgStr;
        }

或者判斷是否為數字方法

        public static bool IsNumeric(this string orgStr) {
            if (orgStr.IsNullOrEmpty()) {
                return false;
            }
            foreach (char s in orgStr) {
                if (s < 48 || s > 57) {
                    return false;
                }
            }
            return true;
        }

或者判斷字串是否為空白方法:

       public static bool IsNullOrEmpty(this string orgStr) {
            return string.IsNullOrEmpty(orgStr);
        }

.........等等若干方法.

然而事情並非總是一番風順,在aspx頁裡用這些方法我就遇到了麻煩.例如說綁定資料列表的時候,我們通常為了美觀讓其在一行內顯示,多的字就不要,在Repeater裡有如下寫法:

傳統的(限制30個字):

<%#Eval("Subject").ToString().Length > 30 ? ((string)Eval("Subject")).SubString(0,30) : Eval("Subject")%>

使用擴充方法後:

<%#Eval("Subject").ToString().GetSubStr(30)%>

字數變簡潔了,一個企業站首頁如果有N個列表的話,可以看到省掉不少字啦!

但麻煩來了,瀏覽時報這個擴充方法未定義錯,從理論上講,aspx頁繼承了aspx.cs類,那麼aspx.cs類裡引用了XXXX.BLL名稱空間,那麼aspx應該也可以請求,但事實上請求不到,所以只好在頁面頂部第二行加上如下代碼:<%@ Import Namespace="XXXXX.BLL" %>

調試運行,成功!

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.