如何在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中实现这一点吗?
我找不到一台电脑。注意下面的代码可能包含错误。
使用nuget导入Newtonsoft Json程序集
在控制器中添加:
using Newtonsoft.Json;
ViewBag.JsonData = JsonConvert.SerializeObject(yourObjectContainingRandomNumbers);
在视图中:
@Html.Hidden("inputID", Viewbag.JsonData)
将jquery引用移动到隐藏字段,事情就会正常工作。