gpt4 book ai didi

javascript - 将按钮 ID 从 View 传递给 MVC Controller

转载 作者:行者123 更新时间:2023-11-30 18:31:58 24 4
gpt4 key购买 nike

我的 .cshtml 页面中有一个按钮。我想将按钮的 ID 传递给 Controller ​​操作。这是我目前拥有的:

@foreach (var item in Model)
{
<div id="report">@Html.ActionLink(@item.Name, "Parameterize", "Report", new { Id = @item.Id }, null )</div><br /><br />
<input id="@item.Id" type="button" onclick="Test()" class="button1" value="Update" />

}

在 Firebug 中,我可以看到正确获取了 id:

enter image description here

现在在 js 代码中,这是我正在尝试的,但由于某种原因, Controller 操作中的 id 仍然为空:

<script type="text/javascript">
function Test() {
var itemId = $('#report').attr('id');
var url = '@Url.Action("UpdateReport/", "Report")';
var data = { Id:itemId };
$.post(url, data, function (result) {
var id = '#postedFor' + postId;
$(id).html(result);

});
}
</script>

在controller action中我有这个,此时id为null:

 public ActionResult UpdateReport(string id)
{
return View("Index");
}

每个建议都非常受欢迎。提前致谢,拉齐亚莱

最佳答案

您正在生成许多 <div>具有完全相同“id”值的元素。一个元素的“id”在整个页面上必须是唯一的,否则会发生奇怪的事情。

因此,$('#report')不会正常工作。也许你可以这样做:

@foreach (var item in Model)
{
<div id="report_@item.Id">@Html.ActionLink(@item.Name, "Parameterize", "Report", new { Id = @item.Id }, null )</div><br /><br />
<input id="@item.Id" type="button" onclick="Test()" class="button1" value="Update" />

}

或者,您可以将输入元素直接传递给处理程序:

  <input id="@item.Id" type="button" onclick="Test(this)" class="button1" value="Update" />

然后:

function Test(item) {       
var itemId = item.id,
var url = '@Url.Action("UpdateReport/", "Report")';
var data = { Id:itemId };
$.post(url, data, function (result) {
var id = '#postedFor' + postId;
$(id).html(result);

});
}

关于javascript - 将按钮 ID 从 View 传递给 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9414103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com