Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Jquery json未将值解析到控制器_Jquery_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

Jquery json未将值解析到控制器

Jquery json未将值解析到控制器,jquery,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,晚上好。。。 我尝试使用jquery创建可编辑的gridview。单击“编辑”按钮时,行将变为可编辑行。但我有个问题。当我尝试将值解析到控制器时,可以传递该值。。有人能帮我吗。。。 我使用视图模型从数据库中获取数据 我从构建器类中构建数据 这就是代码 我的视图模型 namespace test.Models { public class DataDiriItem { public int ID { get; set; } public string

晚上好。。。 我尝试使用jquery创建可编辑的gridview。单击“编辑”按钮时,行将变为可编辑行。但我有个问题。当我尝试将值解析到控制器时,可以传递该值。。有人能帮我吗。。。 我使用视图模型从数据库中获取数据 我从构建器类中构建数据

这就是代码

我的视图模型

namespace test.Models
{
    public class DataDiriItem
    {
        public int ID { get; set; }
        public string Nama { get; set; }
        public int Umur { get; set; }
    }

    public class ListDataDiri
    {
        public List<DataDiriItem> DataDiriList { get; set; }
    }
}
我的看法

@model List<test.Models.DataDiriItem>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";

    var grid = new WebGrid(Model);
}

<style type="text/css">
    .edit-mode { }
    .edit-user{}
    .edit-user display-mode{}
    .save-user edit-mode{}
    .display-mode{}
    .cancel-user{}
    .webgrid-table
    {
        font-family: Arial,Helvetica,sans-serif;
        font-size: 14px;
        font-weight: normal;
        width: 650px;
        display: table;
        border-collapse: collapse;
        border: solid px #C5C5C5;
        background-color: white;
    }
    .webgrid-table td, th
    {
        border: 1px solid #C5C5C5;
        padding: 3px 7px 2px;
    }
    .webgrid-header, .webgrid-header a
    {
        background-color: #E3E3E3;
        color: black;
        text-align: left;
        text-decoration:none;
    }
    .webgrid-footer
    {
    }
    .webgrid-row-style
    {
        padding: 3px 7px 2px;
    }
    .webgrid-alternating-row
    {
        background-color: #F5F5F5;
        padding: 3px 7px 2px;
    }
    .col1Width
    {
        width: 50px;
    }
    .col2Width
    {
        width: 200px;
    }
</style>

<div  id="gridContent" style=" padding:20px; " >
@grid.GetHtml(
        tableStyle: "webgrid-table",
        headerStyle: "webgrid-header",
        footerStyle: "webgrid-footer",
        alternatingRowStyle: "webgrid-alternating-row",
        selectedRowStyle: "webgrid-selected-row",
        rowStyle: "webgrid-row-style",
        mode: WebGridPagerModes.All,
        columns:
            grid.Columns(
             grid.Column("ID", format: @<text>  <span  class="display-mode">@item.ID </span> <label id="ID" class="edit-mode">@item.ID</label> </text>, style: "col1Width" ),
             grid.Column("Nama", format: @<text>  <span  class="display-mode"> <label id="lblNama"  >@item.Nama</label> </span> <input type="text" id="Nama" value="@item.Nama" class="edit-mode" /></text>, style: "col2Width"),
             grid.Column("Umur", format: @<text> <span  class="display-mode"> <label id="lblUmur">@item.Umur</label> </span>  <input type="text" id="Umur" value="@item.Umur" class="edit-mode" /> </text>, style: "col2Width"), 
             grid.Column("Action", format: @<text>
                                <button class="edit-user display-mode" >Edit</button>
                                <button class="save-user edit-mode"  >Save</button>
                                <button class="cancel-user edit-mode" >Cancel</button>
                            </text>,  style: "col3Width" , canSort: false)
           ))

@section scripts
    {
    <script type="text/javascript" >
        $(function () {
            $('.edit-mode').hide();
            $('.edit-user, .cancel-user').on('click', function () {
                var tr = $(this).parents('tr:first');
                tr.find('.edit-mode, .display-mode').toggle();
            });

            $('.save-user').on('click', function () {

                var tr = $(this).parents('tr:first');
                var Nama = tr.find("#Nama").val();
                var Umur = tr.find("#Umur").val();
                var ID = tr.find("#ID").html();
                tr.find("#lblNama").text(FirstName);
                tr.find("#lblUmur").text(LastName);
                tr.find('.edit-mode, .display-mode').toggle();

                **var DataDiriItem =
                {
                    "ID" : ID,
                    "Nama" : Nama,    *this the error come.. but I can't solve it*
                    "Umur" : Umur
                };**
                alert(DataDiriItem);
                $.ajax({
                    url: '/Home/UpdateUser/',
                    data: JSON.stringify(DataDiriItem),
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    success: function (data) {
                        alert(data);
                    }
                });

            });
        })
</script>
    }
@型号列表
@{
ViewBag.Title=“Index”;
Layout=“~/Views/Shared/_Layout.cshtml”;
var grid=新的WebGrid(模型);
}
.编辑模式{}
.编辑用户{}
.编辑用户显示模式{}
.保存用户编辑模式{}
.显示模式{}
.取消用户{}
.webgrid表
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:14px;
字体大小:正常;
宽度:650px;
显示:表格;
边界塌陷:塌陷;
边框:实心px#C5C5;
背景色:白色;
}
.webgrid表td,th
{
边框:1px实心#C5C5;
填充:3px 7px 2px;
}
.webgrid标头、.webgrid标头a
{
背景色:#E3;
颜色:黑色;
文本对齐:左对齐;
文字装饰:无;
}
.webgrid页脚
{
}
.webgrid行样式
{
填充:3px 7px 2px;
}
.webgrid交替行
{
背景色:#F5;
填充:3px 7px 2px;
}
.col1Width
{
宽度:50px;
}
.col2Width
{
宽度:200px;
}
@grid.GetHtml(
表样式:“webgrid表”,
标题样式:“webgrid标题”,
页脚样式:“webgrid页脚”,
交替行样式:“webgrid交替行”,
selectedRowStyle:“webgrid选定行”,
行样式:“webgrid行样式”,
模式:WebGridPagerModes.All,
柱:
网格.列(
grid.Column(“ID”,格式:@@item.ID@item.ID,样式:“col1Width”),
grid.Column(“Nama”,格式:@@item.Nama,样式:“col2Width”),
grid.Column(“Umur”,格式:@@item.Umur,样式:“col2Width”),
网格.列(“操作”,格式:@
编辑
拯救
取消
,样式:“col3Width”,canSort:false)
))
@节脚本
{
$(函数(){
$('.edit mode').hide();
$('.edit user、.cancel user')。在('单击',函数()上{
var tr=$(this.parents('tr:first');
tr.find('.edit mode,.display mode').toggle();
});
$('.save user')。在('click',函数(){
var tr=$(this.parents('tr:first');
var Nama=tr.find(#Nama”).val();
var Umur=tr.find(“#Umur”).val();
var ID=tr.find(“#ID”).html();
tr.find(“lblNama”).text(名字);
tr.find(“#lblUmur”).text(姓氏);
tr.find('.edit mode,.display mode').toggle();
**var数据目录=
{
“ID”:ID,
“娜玛”:娜玛,*这个错误来了……但我解决不了*
“Umur”:Umur
};**
警报(数据目录项);
$.ajax({
url:“/Home/UpdateUser/”,
数据:JSON.stringify(DataDiriItem),
键入:“POST”,
contentType:'application/json;charset=utf-8',
成功:功能(数据){
警报(数据);
}
});
});
})
}
试试这个

$('.save-user').on('click', function () {

            var tr = $(this).parent().parent();
            var Nama = tr.find("#Nama").val();
            var Umur = tr.find("#Umur").val();
            var ID = tr.find("#ID").html();

            $.ajax({
                    url: '@Url.Action("UpdateUser", "Home")',
                    data: {Id:ID,Name:Name,Umur:Umur},
                    type: 'Post',

                    success: function (data) {
                        alert(data);
                    }
                });

});
这只是一个例子

查看

<div id="mygrid">
</div>

<div>
    @{
        var grid = new WebGrid(ViewBag.RegisterItems, rowsPerPage: 15, canPage: true, canSort: true, ajaxUpdateContainerId: "gridContent");
        @grid.GetHtml(
                           tableStyle: "row",
                  alternatingRowStyle: "alt",
                  columns: grid.Columns(
                  grid.Column("Name", header: "User Name"),
                  grid.Column("Address", header: "Address"),
                  grid.Column("PhoneNo", header: "Phone No"),
                  grid.Column("", header: "Actions", format: @<text>
        <input type="text" id="name" />
        </text>),
                  grid.Column("", header: "Actions", format: @<text>
        @Html.ActionLink("Edit", "Index", new { Id = item.ID }, new { @class = "edit" })
        <input type="button" value="Assign" id="btnad" />
        @Html.ActionLink("Delete", "Index", new { Id = item.ID })
        </text>)
                 ));
    }
</div>

这是完美的工作

您得到的实际错误是什么?像“无法传递”或“错误来了……但我无法解决”这样模糊的短语根本没有帮助。@novian kristianto:如果这对你有帮助,那就接受为ans。你能再帮我一次吗?
$('.save-user').on('click', function () {

            var tr = $(this).parent().parent();
            var Nama = tr.find("#Nama").val();
            var Umur = tr.find("#Umur").val();
            var ID = tr.find("#ID").html();

            $.ajax({
                    url: '@Url.Action("UpdateUser", "Home")',
                    data: {Id:ID,Name:Name,Umur:Umur},
                    type: 'Post',

                    success: function (data) {
                        alert(data);
                    }
                });

});
<div id="mygrid">
</div>

<div>
    @{
        var grid = new WebGrid(ViewBag.RegisterItems, rowsPerPage: 15, canPage: true, canSort: true, ajaxUpdateContainerId: "gridContent");
        @grid.GetHtml(
                           tableStyle: "row",
                  alternatingRowStyle: "alt",
                  columns: grid.Columns(
                  grid.Column("Name", header: "User Name"),
                  grid.Column("Address", header: "Address"),
                  grid.Column("PhoneNo", header: "Phone No"),
                  grid.Column("", header: "Actions", format: @<text>
        <input type="text" id="name" />
        </text>),
                  grid.Column("", header: "Actions", format: @<text>
        @Html.ActionLink("Edit", "Index", new { Id = item.ID }, new { @class = "edit" })
        <input type="button" value="Assign" id="btnad" />
        @Html.ActionLink("Delete", "Index", new { Id = item.ID })
        </text>)
                 ));
    }
</div>
<script type="text/javascript">

    $(document).ready(function () {
        $("#btnad").on("click", function () {
            var tr = $(this).parent().parent();
            var t = tr.find("#name").val();

            $.ajax({
                url: '@Url.Action("UpdateUser", "Content")',
                type: "Post",
                data: { CustomerNameId: t },
                dataType: 'json',
                success: function (result) {
                    $("#mygrid").html('');
                    $("#mygrid").html(result);
                }
            });
        });

    });
</script>
 public JsonResult UpdateUser(string CustomerNameId)
        {

            string message = "Success";
            return Json(message, JsonRequestBehavior.AllowGet);
        }