對Asp.net Mvc 和 jQuery UI使用者的一些忠告

來源:互聯網
上載者:User

端午節快樂,大家。

好久沒寫部落格了。1個月了都。。。。抱歉。

今天給使用asp.net mvc的開發人員一些建議和分享經驗。

首先,如果你使用asp.net mvc,而且使用的js庫是jQuery, 那麼一定別錯過使用jquery UI。

 

在以前的工作中,我如果需要寫一個類似於Google搜尋的自動完成,那可能涉及到JS的編寫,CSS樣式,以及後台代碼如何產生json或者xml傳遞給自動完成控制項。

現在可以使用jQuery UI的Autocomplete,你的工作量會少的驚人。來看我如何?:

 

1.添加jquery ui js和css引用。

 

2.頁面添加一個textbox,並在該textbox上使用autocomplete指令碼:

 

3.添加Action,並返回json。

在第二步中我們看到ID為complete的textbox它的source為home這個controller下的action: Users。所以接下來我們要來實現Users這個action:

 

我們使用Asp.net mvc內建的Json轉換方式來把一個string Array轉化為json,並返回給用戶端的autocomplete控制項。

 

運行下看看結果:

先輸入一個“s”:

 

在Action設定斷點,可以看到jQuery ui的autocomplete控制項已經把s序列化成json傳輸到伺服器端,asp.net mvc還原序列化後,傳給方法Users(string term)。

 

 

 

 

 

這裡隨便寫了一個數組,並把該數組序列化成json,返回到用戶端,用戶端結果:

 

很簡單的幾步就搞定了自動完成。

最令人覺得激動地是所有的樣式都完成可以在jQuery UI官網上產生你需要的皮膚,然後匯出,替換現在的jquery ui的css檔案就OK了。

 

其次我覺得比較值得使用的是jquery ui的Dialog控制項和Datepicker控制項。

你的datepicker完成可以做成通用的控制項放到Share檔案夾下。

 

Dialog控制項的使用可以讓你的增刪改成彈出框方式來展示,增強網站的友好型。這裡你需要結合jquery的ajax方法,比如load,get來把view頁面載入下來,然後使用jquery的系列化方法來把資料Post到伺服器端。

具體的例子我以後盡量寫幾個,今天趕時間不寫了先。

 

最後一部分想和大家分享使用asp.net mvc的開發人員幾點忠告:

a.先刪除掉AccountController,從來都別使用那個內建的使用者管理Controller,自己去實現。

 

b.能使用IoC 容器就使用吧。 只有好處沒有壞處。例如Autofac,Ninject。 不過初級的程式員先注意下IoC容器的單體模式和原廠模式,不然項目中使用後,你會發現你悲劇了。多瞭解,深瞭解,否則,別用在項目中。

 

c.盡量別用ViewData這個玩意。

 

d.記得一定要使用FIlter這個屬性來實現AOP編程,你不需要自己去寫你的AOP組件。例如Dynamic.Proxy這些都先別考慮,首先考慮Global Filter。

 

e.自訂你的ViewEngine。 你需要定義好你的viewengine,不然以後你會發現很多擴充都是無法實現的。。。。。

 

聯繫我們

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