在ASP.NET Core MVC中从视图访问隐藏值到控制器 [英] Access hidden value from View to Controller in ASP.NET Core MVC

查看:89
本文介绍了在ASP.NET Core MVC中从视图访问隐藏值到控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I need help for passing hidden control values from the ASP.NET Core razor view page using jQuery.

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

jQuery is used to fetch dynamic control selected values:

@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后插入方法.有人可以帮我吗?

This jQuery is working fine. Need to pass one more hidden control value through jQuery to the below controller HTTP post insert method. Can anybody please help me?

 [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");

        }

推荐答案

使用它从Controller中的View获取数据

Use this to get data from View in Controller

form.request['name of element'];

这篇关于在ASP.NET Core MVC中从视图访问隐藏值到控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆