【问题标题】:How to submit a Modal Dialog with Diactionaries ViewModel by JSon如何通过 JSon 提交带有 Diactionaries ViewModel 的模态对话框
【发布时间】:2013-06-05 06:33:06
【问题描述】:

我正在尝试提交一个模态对话框,并在模态消失后在背面获取结果。

我的视图模型----

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);
    }

cmets 太多了……其实我不知道如何用字典从 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和字典......

【问题讨论】:

  • hey Sujit ....... 告诉我这些代码成功的输出:function (student) { alert(student);
  • 陷入错误...不;不能正确执行成功
  • 给我看post方法的代码。

标签: c# javascript jquery asp.net-mvc json


【解决方案1】:

你让这太难了。 ASP.NET MVC 具有内置的 ajax 功能。您想要做的是让您的主页上的按钮链接到部分视图。如果用户单击一个按钮,将弹出一个模式来加载您的局部视图。在局部视图中,使用 Ajax.BeginForm() 来处理您对服务器的回发。真的就这么简单。我知道是因为我刚刚创建了一堆使用模式弹出窗口来插入和更新视图模型的页面。

【讨论】:

    猜你喜欢
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2012-10-24
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多