【问题标题】:MVC3 passing data from jquery modal dialog to controler at load eventMVC3 在加载事件时将数据从 jquery 模式对话框传递到控制器
【发布时间】:2012-03-23 19:07:34
【问题描述】:

我正在尝试将按钮的值传递给模式对话框。我的按钮事件如下所示:

//Dialog Function=============================================================
    //declaring the function
    $(function () {
        $('#dialog').dialog({
            autoOpen: false,
            hide: 'fade',
            show: 'fade',
            width: 350,
            height: 270,
            resizable: false,
            modal: true,
            dialogClass: 'dialog',
            open: function (event, ui) {               
                $(this).load('@Url.Action("AddFiles", "ProjectDetails")');
            }
        });
    });

    //Showing the dialog when one of the 3 buttons is clicked.
    $("button[name='Add']").click(function () {
        $('#type').val($(this).val());   
        $('#dialog').dialog('open');                 
    });
    //=========================================================================

我将值传递给我的模态 div 中的隐藏字段:

@Html.Hidden("type")

所以我需要把它变成一个 HiddenFor 并且为此我需要传递一个模型视图类 在我的 AddFiles 方法中

public ActionResult AddFiles()
    {
        return View();
    }

这将是我的模型:

public class FileViewModel 
{
    public string Name { get; set; }
   public string type { get; set; }
   public string comments { get; set; }        
 }

但我不知道如何将按钮的值分配给我将创建的模型(模型将具有字符串类型属性)有没有办法做到这一点,或者我别无选择,可以使用独立隐藏场地?

【问题讨论】:

    标签: javascript jquery asp.net-mvc-3 dialog modal-dialog


    【解决方案1】:

    我遇到了同样的事情,有一个简单的解决方案。您需要传入 id 然后打开对话框。这是 php.ini 中的一个示例。我在 mvc 中也是这样做的,所以只要我有语法,我就会发布它。

    这是链接。 http://groups.google.com/group/jquery-en/browse_thread/thread/13a3a580b4128d3d

    另外,我忘了提到,如果您将数据传递给模型,您将需要一个构造函数来创建该类的实例,即:

    var DataBuilderList = new List<FileViewModel>();
    DataBuilderList.Add(new FileViewModel{ name = "thename", type = "thetype", comments = "comments" });
    

    您需要从控制器调用一个方法,该方法将在将其传递到操作后执行此操作。

    如果我错了或有任何 cmets 让我知道。祝你好运。'

    顺便说一句,它的语法和jquery一样:

    open: function () { $(this).load('ProjectDetails/AddFiles', {  : id }), function () { }
    }
    

    您需要为按钮名称的操作结果添加一个参数,但这应该适用于我认为您正在做的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      相关资源
      最近更新 更多