为什么我的链接点击时调用错误的行为结果
问题描述:
我有这个问题。我有编辑页面,其中一个属性是超链接。一个div显示我想要的视频列表,如果我点击任何链接(例如“删除”),它将触发ajax调用来删除选定的项目。但我有一个奇怪的问题。每次点击任何链接时,都会调用“编辑”页面,这是当前页面而不是“删除”方法。我的链接以这种方式呈现。为什么我的链接点击时调用错误的行为结果
<a href="#" class="video" id="@Model.VirtualTourGalleries[i].Virtual_Tour_Id">Delete</a>
请帮忙。这是我的代码。
HTML
<div class="fieldElem">
<div class="editor-label">Virtual Tours & Videos</div>
<div class="editor-field">
<table id="gridVirtualTours">
<thead>
<tr>
<th>VIDEO</th>
<th></th>
</tr>
</thead>
<tbody>
@if (Model.VirtualTourGalleries != null)
{
for(var i = 0; i < Model.VirtualTourGalleries.Count(); i++)
{
@Html.HiddenFor(model => model.VirtualTourGalleries[i].Virtual_Tour_Id)
<tr>
<td>@Model.VirtualTourGalleries[i].Virtual_Tour_Title</td>
<td><a href="#" class="video" id="@Model.VirtualTourGalleries[i].Virtual_Tour_Id">Delete</a></td>
</tr>
}
}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
</div>
jQuery函数
$("#gridVirtualTours").on('click', '.video', function() {
var tr = $(this).closest('tr');
$.ajax({
url: "deletevideo",
type: 'POST',
data: { videoid: $(this).attr('id') },
success: function (result) {
if (result) tr.remove();
}
});
});
控制器
[HttpPost]
public ActionResult DeleteVideo(int? videoid)
{
return Json("", JsonRequestBehavior.AllowGet);
}
调试图像
当 “删除”,点击它所称的 “编辑”,而不是在 “删除”
答
尝试
url: '@Url.Action("DeleteVideo","ControllerName")',
取而代之的是
url: "deletevideo",
答
使用适当的情况下sentive动作名称的jQuery AJAX网址属性。即url: "DeleteVideo",
+0
尝试过,但没有运气还是一样。 – 2013-04-23 07:34:36
答
改变这样的代码:
$("#gridVirtualTours").on('click', '.video', function (e) {
e.stopPropagation();
var thisElement = $(this);
var tr = $(this).closest('tr');
$.ajax({
url: "@Url.Action("DeleteVideo" , "Controller" , new {area ="area if it's not in base controller folder"})",
type: 'POST',
data: { videoid: thisElement.attr('id') },
success: function (result) {
if (result) tr.remove();
}
});
});
这的确是!非常感谢! – 2013-04-23 07:51:04
欢迎@JobertEnamno – Amit 2013-04-23 07:55:39