在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

2024-06-20

我需要帮助使用 jQuery 从 ASP.NET Core razor 视图页面传递隐藏控件值。

jQuery 用于获取动态控件选定的值:

@section scripts{
    <script>
        $(function () {
            $("button[type='submit']").click(function () {
                event.preventDefault();
                var properties = [];
                $("#tb_properties tr").each(function (index, item) {
                    var $row = $(item), $td = $row.find('td');
                    $td.each(function (i, td) {
                        var propertyname = $td.find("input[type='text']").val();
                        var selctedvalue = $td.find("select").val();
                        properties.push('"' + propertyname + '":"' + selctedvalue + '"');
                    })

                });
                var jsonstr = '{' + properties.join(",") + '}';
                var jsobject = JSON.parse(jsonstr);
                console.log(JSON.stringify(jsonstr));
                console.log(jsonstr);
                $.ajax({
                    type: "Post",
                    url: "/Home/Insert",
                    //data: jsobject,
                    data: jsonstr,
                    contentType: "application/json",
                    success: function (response) {
                        toastr.info(response.status + "<br>" + "<br>" + response.message);
                        $("#tb_properties select").val("");
                        $("#partial_div").load(window.location.href + " #partial_div");
                    },
                    error: function (xhr, textStatus, errorThrown) {
                        console.log('in error');
                    }
                });

            });
        });
    </script>
}

这个 jQuery 工作正常。需要通过 jQuery 将另一个隐藏控件值传递给下面的控制器 HTTP post 插入方法。有人可以帮我吗?

 [HttpPost]
        public IActionResult Insert([FromBody] JObject jsonModel)
        {
            if (jsonModel != null)
            {
                List<K360mapMaster> K360mapListObj = new List<K360mapMaster>();

                foreach (JProperty prop in jsonModel.Children())
                {
                    string key = prop.Name.ToString();
                    string value = prop.Value.ToString();
                    //!string.IsNullOrWhiteSpace(text)                    
                    if (!string.IsNullOrEmpty(value))
                    {
                        K360mapListObj.Add(new K360mapMaster() { ClientCatalog = key, K360catalog = value });
                    }
                }
                if (K360mapListObj.Count > 0)
                {
                    try
                    {
                        _context.K360mapMasters.AddRange(K360mapListObj);
                        _context.SaveChanges();
                        return Json(new { Status = "Success", Message = "No conflicts. Catalogs mapped." });
                    }
                    catch (Exception ex)
                    {
                        TempData["ExceptionmsgM"] = ex;                        
                        throw;
                    }
                }

                else
                {
                    return Json(new { Status = "Error", Message = "Catalogs not selected." });
                }
            }
            return RedirectToAction("Index");

        }

使用它从控制器中的视图获取数据

form.request['name of element'];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值 的相关文章

随机推荐