【问题标题】:AngularJS Pass json data to mvc controller in the form of listAngularJS 将 json 数据以列表的形式传递给 mvc 控制器
【发布时间】:2019-12-03 13:04:12
【问题描述】:

我需要将 json 以 List 的形式传递给 Angular JS Post 中的控制器。

我尝试以 Json 的形式发送数据以将其作为 MVC 控制器中的列表。但是当我这样做时,我只能在 MVC 控制器上获得行数。列表中的变量为空

AngularJS 控制器

$scope.SaveTaxRange = function (){
    var formdata = $("#frmTaxSetup").serializeArray();
    var uniqueKey = { name: "AngularJS", value: "SaveTaxRange" };
    formdata.push(uniqueKey);
    var tableData = [];

    try {
        $('#tablTaxRange tbody tr').each(function (index, element) {
            //tableData = {};
            tableData.push({
                Min_amt: $(this).find('th:eq(0) input').val(),
                Max_amt: $(this).find('th:eq(1) input').val(),
                Tax_percent: $(this).find('th:eq(2) input').val(),
                Tax_type: $(this).find('th:eq(3) input').val(),

            });
            tableData.push({
                Min_amt: $(this).find('th:eq(0) input').val(),
                Max_amt: $(this).find('th:eq(1) input').val(),
                Tax_percent: $(this).find('th:eq(2) input').val(),
                Tax_type: $(this).find('th:eq(3) input').val(),

            });
        });

    } catch (e) { alert(e); }

    uniqueKey = { name: "lstTaxRangeSave", value: tableData };
    formdata.push(uniqueKey);
    var data = {};           

    $(formdata).each(function (index, obj) {
        data[obj.name] = obj.value;
    });
    $http({
            url: "/PayModule/Pay_mas_taxsetup",
            method: "Post",
            data: { "model": data }
    }).then(function(response){});
};

MVC 模型

public class TaxSetupMaster
{
    public class TaxRange
    {
        public string Min_amt;
        public string Max_amt;
        public string Tax_percent;
        public string Tax_type;
        public string add;
    }
    public List<TaxRange> lstTaxRangeSave { get; set; }
}

MVC 控制器

[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
    public ActionResult Pay_mas_taxsetup( TaxSetupMaster model)
    {
        var a = model.lstTaxRangeSave ;//Here it shows rowcount 2 but the variables are null. Is it feasible to get the data from html? 
    }

提前致谢

【问题讨论】:

  • 这里的“数据”是什么:{“模型”:数据}?您正在创建一个“tableData”数组。除此之外,你真的应该使用 ng-model 作为你的输入。
  • @ndoes 真的很抱歉我已经更新了我的代码请检查
  • @ndoes ng-model 是否将完整表作为列表发布到 mvc 控制器?
  • 您能否在 XHR 请求中发布数据,以便我们查看它的样子?
  • @Rob 对不起,我忘了放 getter setter 现在我在 MV 控制器中获取值谢谢队友这是我的 XHR AngularJS:“SaveTaxRange”lstTaxRangeSave:Array(2)0:Max_amt:“2” Min_amt: "1" Tax_percent: "3" Tax_type: "4" add1: "" proto: 对象 1: Max_amt: "2" Min_amt: "1" Tax_percent: "3" Tax_type: "4 " add1: "" proto: 对象长度: 2 proto: Array(0) tblTaxSetup_length: "25" proto: Object

标签: jquery angularjs asp.net-mvc-5


【解决方案1】:

对不起我的粗心朋友

public string Min_amt;
public string Max_amt;
public string Tax_percent;
public string Tax_type;
public string add;

是的,忘记添加 getter 和 setter

public string Min_amt { get; set; }
public string Max_amt { get; set; }
public string Tax_percent { get; set; }
public string Tax_type { get; set; }
public string add { get; set; }

现在我正在获取 MVC 控制器中的值 感谢大家花费宝贵的时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多