Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 通过JQuery UI对话框向服务器提交表单数据时出现问题_Asp.net Mvc_Jquery Ui - Fatal编程技术网

Asp.net mvc 通过JQuery UI对话框向服务器提交表单数据时出现问题

Asp.net mvc 通过JQuery UI对话框向服务器提交表单数据时出现问题,asp.net-mvc,jquery-ui,Asp.net Mvc,Jquery Ui,我有一个asp.NETMVC应用程序,使用jQueryUI对话框。我正在尝试将表单数据提交给ControllerAction方法。我确实点击了动作方法,但我的对象没有数据。你知道为什么吗 来自Filter.cshtml $("#selectUnits").dialog({ autoOpen: false, title: 'Select Units', width: 400, modal: true, minHeigh

我有一个asp.NETMVC应用程序,使用jQueryUI对话框。我正在尝试将表单数据提交给ControllerAction方法。我确实点击了动作方法,但我的对象没有数据。你知道为什么吗

来自Filter.cshtml

$("#selectUnits").dialog({
        autoOpen: false,
        title: 'Select Units',
        width: 400,
        modal: true,
        minHeight: 200,
        buttons: {

            "Cancel": function () {

                $(this).dialog("close");
            },

            "Submit": function () {

                $.post('/Data/SetUnitNumbers', $("#frmSelectedUnits").submit(), function (data) {

                    alert('This worked');
                });

            }

        }  // END OF BUTTONS

    });  //END OF DIALOG
来自控制器…操作方法:

 public void SetUnitNumbers(object data)
    {
        int a = 5;            
    }
<body>

<form id="frmSelectedUnits" action="/" >

    <div id="unitNumberCheckboxes" style=" ">
        <div>
             @Html.CheckBox("SelectAllUnitNumbers", false)<label for="SelectAllUnitNumbers"><b>Select/Unselect All Units</b></label>
        </div>
        <div id="unitCheckboxes">


             @foreach (var item in Model)
                {                                            
                    <div style="float:left">

                            @Html.CheckBox("UnitNumbers", false)<label for="UnitNumbers">@item.unit_number.ToString().PadLeft(3, '0')&nbsp;&nbsp;&nbsp;</label>

                    </div>
                }                                
        </div>

    </div>

</form>


</body>
来自表单“frmSelectedUnits”所在的SelectUnits.cshtml。本质上,我正试图将一组复选框值发送回服务器:

 public void SetUnitNumbers(object data)
    {
        int a = 5;            
    }
<body>

<form id="frmSelectedUnits" action="/" >

    <div id="unitNumberCheckboxes" style=" ">
        <div>
             @Html.CheckBox("SelectAllUnitNumbers", false)<label for="SelectAllUnitNumbers"><b>Select/Unselect All Units</b></label>
        </div>
        <div id="unitCheckboxes">


             @foreach (var item in Model)
                {                                            
                    <div style="float:left">

                            @Html.CheckBox("UnitNumbers", false)<label for="UnitNumbers">@item.unit_number.ToString().PadLeft(3, '0')&nbsp;&nbsp;&nbsp;</label>

                    </div>
                }                                
        </div>

    </div>

</form>


</body>

@复选框(“SelectAllUnitNumber”,false)选择/取消选择所有单位
@foreach(模型中的var项目)
{                                            
@Html.CheckBox(“UnitNumbers”,false)@item.unit_number.ToString().PadLeft(3,'0')
}                                
是:

其中,数据
随请求发送到服务器的映射或字符串。

调用
$(“#frmSelectedUnits”).submit()
可能无法工作

尝试:


要传递给视图的ViewModel是什么?用于创建所有复选框的ViewModel。本质上是一个int值列表,用于显示复选框旁边的单位编号。这就是你的意思吗?我刚试过,但似乎不起作用。作为测试,我将其更改为$.post('/Data/SetUnitNumbers',“TESTING”,function(Data)。请注意,我为数据设置了“TESTING”。这也不会向操作方法发送任何信息。不确定发生了什么。为了清楚起见,操作方法确实被我的断点击中,但传入的值为null。@KeelRisk Your
SetUnitNumbers(对象数据)
需要一个对象?并且,您正在发送一个
字符串
?请尝试将其更改为
(字符串数据)
@KeelRisk您在控制台中看到了什么?Chrome和Firefox都有js控制台,因此您可以看到发送的内容。jk…问得好。所以我检查了它,它显示我正在向服务器发送请求正文中的“TESTING:”。因此基本上测试没有任何值。因此,我将其更改为:$.post(“/Data/SetUnitNumbers”,{TESTING:$(“#frmSelectedUnits”).serialize(),函数…现在正在将数据发送到服务器。为了澄清,在我的操作方法中,我将输入参数更改为字符串测试,以便匹配。它可以工作!