如何在mvc4和jquery中获取动态生成文本框的值并向控制器发出ajax请求

本文关键字:控制器 请求 ajax 文本 mvc4 jquery 动态 获取 | 更新日期: 2023-09-27 18:01:41

我有一个表,我动态地生成文本框和绑定模型值到这些文本框。我还有一个按钮。我想在Ajax请求中发送动态生成的文本框值。我的代码如下:

@foreach (var group in Model.Groups)
{
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable tableHover">
        <tr>
            @foreach (var item in group.Items)
            {
                <th>@item.Label</th>
            }

        </tr>
        <tr>
            @foreach (var item in group.Items)
            {
                <td><input type="text" id="Value" value="@item.Value"></td>
            }
        </tr>

    </table>
            }
@foreach (var group in Model.Groups)
{
    <tr>
        @{ int k = 1; }
        @foreach (var item in group.Items)
                {
                    if (k == 1)
                    {
                <td scope="col">   <button type="button" class="btn btn-primary" id="SaveUpdate" onclick="updatemetaData('@item.upld_id,@item.Value');">Save</button></td>
                k = 0;
            }
        }
    </tr>
}

这是我的jquery函数,使ajax请求。

  function updatemetaData(docid) {
            $.ajax(
                 {
                     type: "GET",
                     data: { upld_id: docid },
                     dataType: "html",
                     url: '/documentVerification/updatedocDetails',
                     headers: {
                         'VerificationToken': forgeryId
                  },
                     success: function (data)
                     {
                         $('#GridDetails').html("");
                         $('#GridDetails').html(data);
                         $("#dialog-formdocumentdata").dialog('open');
                     }
                       , error: function (error)
                       {
                       }
                 });
        }
</script>

我想在ajax调用发送动态生成的文本框的值。在下面的代码中,所有情况下都会生成2个文本框。

@foreach (var item in group.Items)
            {
                <td><input type="text" id="Value" value="@item.Value"></td>
            }

有可能在jquery中实现这一点吗?

如何在mvc4和jquery中获取动态生成文本框的值并向控制器发出ajax请求

我找不到一台电脑。注意下面的代码可能包含错误。

使用nuget导入Newtonsoft Json程序集

在控制器中添加:

using Newtonsoft.Json;
ViewBag.JsonData = JsonConvert.SerializeObject(yourObjectContainingRandomNumbers); 

在视图中:

@Html.Hidden("inputID", Viewbag.JsonData)

将jquery引用移动到隐藏字段,事情就会正常工作。