【发布时间】:2013-09-06 19:05:22
【问题描述】:
单击表格中的项目后,我正在尝试编辑字段。
我向表中的每个对象添加了一个 on clcik 事件,如下所示:
onclick="itemEdit(this)
我的 javascript 函数看起来像:
function itemEdit(e) {
console.log($(e).attr("id"));
var itmId = $(e).attr("id");
$.ajax({
url: '@Url.Action("Index", "Scraping")',
data: {itemId: itmId},
type: 'POST',
success: function(data) {
alert(data);
}
});
}
我在我的 Index 方法中所做的是在页面顶部以更详细的方式加载单击的项目,如下所示:
public ActionResult Index(string itemId)
{
if (itemId != null)
{
im.loadItem(itemId.ToString());
}
else
{
if (im.lstEditModel.Count == 0)
{
im.loadLists();
}
}
return RedirectToAction("Index");
}
我遇到的问题是,每当我单击一个项目时,索引方法都会执行两次......因此造成了混乱。有什么帮助吗?
【问题讨论】:
-
你有那个动作的
[HttpPost]属性吗? -
@Jonesy 如果他没有,他手上就会有一个重定向循环。
-
你是如何将它添加到每个项目中的? JavaScript 事件在对象层次结构中冒泡。因此,onclick 上的单元格冒泡到行冒泡到表格等。如果 Onclick 位于单元格和行和表格上,那么每次点击都会触发多次。
-
你能显示表格标记以及 GET 和 POST 操作方法吗?
-
另外我不认为 ajax 调用会找到动作,真的。
标签: c# javascript asp.net-mvc razor