asp.net中使用jquery的ajax來post資料的樹控制項

來源:互聯網
上載者:User

 

我相信大部門的.net開發人員還在完全使用asp.net架構開發或者有一部分人是asp.net和asp.net mvc項目都有在做。對於傳統的asp.net如果要有好的體驗,那麼ajax效果當然不可少。。。

我剛才問了一個同事,我說現在我要在asp.net中前台頁面要後台傳過來json格式的資料,你覺得我用哪種方式好,回答很肯定是Ihttphandler

 

我完全同意。。。那json對象的轉化工具你選擇什麼呢? Newtonjson。。。好主意。。而且我也很喜歡這個序列化還原序列化庫。

http://json.codeplex.com/  這個東西可能你也用過好多次了。。。

甚至藉助nuget,你都不需要去麻煩的下載這個類庫。。。

 

 

大部分問題都解決了,該選擇一個jquery tree控制項了。我首先想到的是jstree.相信你用過它的話,肯定會喜歡上它的.很不幸的是它不相容IE9……………………………

可能有些人用過這個樹控制項,http://code.google.com/p/jquerytree/ 名字是ZTree,國人寫的,雖然寫的差點,但是相容性方面還是不錯的。。。值得表揚。。。

 

因為涉及到非同步傳輸資料,我試著找到它的ajax方法調用,發現其實這塊寫的不大合理,作者主要是針對php和jsp寫的,所以接收資料的方式對於我們asp.neter來說不大適用。。。修要修改它的ajax方式如下:

 

 

 

這樣試著做出來一個例子,還算挺快的。。。不過試著想想,我是不是應該有更好更簡單的方式?

我當時其實已經有另一種實現方式了。 我給那個同事說,我有一方式,咱倆試試看誰先實現功能。O(∩_∩)O~

 

1.建立一個asp.net 3.5的解決方案。添加default.aspx,jquery.ztree-2.6.js以及樣式檔案。

 

2.添加兩個引用:

 

沒錯,我會適用webmethod往前台post資料,適用.net自己的類來把資料集序列化成json對象。這時候他還在下載newton.json添加

xxx.ashx呢。

3.建立一個web方法:

 

 

4.適用jquery的ajax來拿資料。。。

因為ZTree已經封裝好了ajax方法,我們只需要把url傳給它就OK了。

 

運行試試能否拿到資料:

 

如果某個節點是父節點,那麼ajax請求時,會往伺服器端傳過去當前的id和name等,後台會查詢到對應的子集,然後再以json格式返回來。。

 

 

 

 

 

 

 

 

 

 

顯示結果:

 

對你有協助的捧個場哈。 沒用的話,就當一樂。。。對了,那個同事還在調試呢。。。O(∩_∩)O~

聯繫我們

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