0

モーダルダイアログ

モーダル ダイアログを送信し、モーダルがなくなった後にバック ページで結果を取得しようとしています。

私のViewModel----

public class InsertPoStep3
  {
    public Dictionary<int, string> FixedCategoryList { get; set; }
    public string Description { get; set; }
    public Dictionary<int, string> FixedDateRangeList { get; set; }
  }

送信ボタンを押すと、そのビューモデルは辞書とともにコントローラー ActionResult に送信されます

コントローラのアクション結果------

public ActionResult CreateCategory(InsertPoStep3 insertPoStep3)
    {
        // foreach (var data in formCollection)
        // {

        var fixedCategory = insertPoStep3.FixedCategoryList.Values;
        //var description = formCollection[formCollection.Count - 1];
        var category = new Category
        {
            //CategoryId = _db.Categories.Count() + 1,
            //CategoryDescription = description,
            FixedCategoryId = Convert.ToInt32(fixedCategory),

        };
        //_db.Categories.Add(category);
       // _db.SaveChanges();

        /* for(int i=1;i<formCollection.Count-1;i++)
         {
             _db.DateRanges.Add(new DateRange
                                    {
                                        CategoryId = category.CategoryId,
                                        FixedDateRangeId =     Convert.ToInt32(formCollection[i])

                                    });
         }


         _db.SaveChanges();*/

        return Json(insertPoStep3);
    }

コメントが多すぎます...実際、辞書を使用してviewmodelからデータを取得する方法がわかりません....

マイ モーダル ダイアログ JavaScript-------

<script type="text/javascript">
$(function () {


    $("#InsertCategoryAnchor").click(function () {

        $("#form-dialog").load("/InsertPo/CreateCategory");
        $("#form-dialog").dialog({
            modal: true,

            height:500,


            width: 700,
            closeOnEscape: true,
            resizable: false,
            draggable: true,

            title: "Insert a Category",

            close: function(){
                $(this).dialog("destroy");
            },



            buttons: {
                Submit: function () {
                    var value = $("#myfrom").serialize();

                    $.ajax({
                        url: "/InsertPo/CreateCategory",
                        type: "POST",
                        data: value,
                        success: function (student) {
                            alert("Yes");

                            $(this).dialog('close');
                        }
                    });

                },
                Cancel: function () {
                    $(this).dialog("destroy");
                }
            }
        });
    });
   });

   </script>

実際のコードはどのようになりますか??? 誰かが段階的に答えてください...私は修正中です....コードとシナリオはここにあります...しかし、それは機能しません....JSonと辞書....

4

1 に答える 1