Asp.net MVC:控制器,第一个参数为json,第二个参数为View中的字符串

本文关键字:参数 View 第二个 字符串 json net 控制器 MVC 第一个 Asp | 更新日期: 2023-09-27 18:01:04

我们有一种情况,我们希望控制器将第一个参数作为json(模型(作为第二个参数作为模型以外的一些附加数据(如Flag、事件驱动的源代码管理等(,我们尝试过用jQuery进行调整,但最终都在浏览器检查元素中显示了错误。

我们的控制器通常是这样的:

public async Task<ActionResult> Foo(Bar b, string additionaldata)
{
    if (additionaldata="Deleted")
    {
    }
    else if (additionaldata="Favorite")
    {
    }
}

内部视图是这样的:

$("#delete").click(function () {
                    $.ajax({
                        url: "/Index/Foo",
                        type: "POST",
                        data: $("#myform").serialize(), 
                        dataType: "json"
                    }).done(function (model) {
                        $("#Foo_Id").val(model.Foo.Id);
                    });
                });

就模型而言,这个jQuery运行良好,但就我们尝试添加一些额外的参数而言,我们一无所知。

请建议我们如何通过。

Asp.net MVC:控制器,第一个参数为json,第二个参数为View中的字符串

On选项是使用FormData构建模型并添加额外的数据

var formdata = new FormData($('#myform').get(0)); // serialize the form
formdata.append('additionaldata', 'Favorite'); // add additional properties
$.ajax({
  url: '@Url.Action("Index", "Foo")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});