2011-02-09 14 views
1

おそらく、この質問のタイトルを特にうまく言わなかったでしょう。それはJSONのこまごまとした多くのことになるとASP.NET MVCでシリアル化された文字列を処理するにはどうすればよいですか?

は私が初心者のビットだと、現在、私は次のシリアライズされた文字列を生成し、ネストされたソート可能なプラグインがあります

list[1]=root&list[2]=root&list[3]=2&list[4]=2&list[5]=2&list[6]=2&list[7]=root&list[8]=root&list[9]=root&list[10]=root&list[11]=10&list[12]=10&list[13]=10&list[14]=10&list[15]=root&list[16]=root

ですすべてうまくやっていますが、コントローラーでどのように処理するのか分かりません。私はGoogleを持っていて、特定のものは何も見つかりませんでしたが、私の検索語は私の質問のタイトルほど言葉が悪いと思っています。

誰かが正しい方向に私を向けることができますか?

ご協力いただきありがとうございます。

+0

使用しているMVCのバージョンは何ですか? MVC 3は、jQuery – Jon

+0

MVC 2を介してモデル構造にシリアル化する限り、正しくバインドする必要があります。MVC 3がなくなる前にプロジェクトを開始したからです。現時点では、少なくともこのプロジェクトが完了するまで、MVC 3にアップグレードするつもりはありません。 – LiamGu

答えて

2

これは私がMVC 2 編集でそれを行う方法です。私はまた、Haacked記事

で述べたjson2.jsスクリプトを使用するHTMLの一部:

<ul class="sortList"> 
    <% foreach(var item in Model){ %> 

    <li id="item_<%= item.ID %>"> 

のjQuery:

$(".sortList").sortable(
     { 
      connectWith: ".sortList", 
      containment: "document", 
      cursor: "move", 
      opacity: 0.8, 
      placeholder: "itemRowPlaceholder", 
      update: function(event, ui) { 
       $.post("/Admin/UpdateSortOrder/", { sortlist: $(this).sortable("serialize") }); 
      } 
     }); 

値が掲載されている:

"item_0d2243bf-e01d-4049-964c[]=d69b92009072&item_bab23d45-442b-4178-817c[]bbdea32ff226&item_e987ed37-cf30-4413-8687[]=9dc8d111482a" 

アクション

[HttpPost] 
     public ActionResult UpdateSortOrder(string sortlist) 
     { 
      string[] separator = new string[2] { "item_", "&" }; 
      string[] tempArray = sortlist.Split(separator, StringSplitOptions.RemoveEmptyEntries); 

      if (tempArray.Length > 0) 
      { 
       for (int i = 0; i < tempArray.Length; i++) 
       { 
        tempArray[i] = tempArray[i].Replace("[]=", "-"); 
        Guid _id = new Guid(tempArray[i]); 
        var temp = _session.Single<Photo>(x => x.ID == _id); 
        temp.Sortorder = i + 1; 
        _session.Update(temp); 
        _session.CommitChanges(); 
       } 

      } return Content("volgorde aangepast"); 
     } 
関連する問題