我有一个超链接,我在我的控制器中调用一个删除方法的click事件(使用jquery.get),我面临的问题是它永远不会被调用,删除永远不会完成,请查看代码要清楚了解!
$('.hyp').click(function () {
var id = $(this).attr('href');
alert(id);
//$('.' + delid).hide("slow");
//$('#delid').remove();
$.get('admin/deletecomment', { id:id }, function (data) {
if (data == 1) {
debugger;
alert("Deletion Done");
}
else {
alert("error");
}
});
});
**controller method**
public ActionResult deletecomment(int id)
{
var v = (dd.usercomments.Where(m => m.id == id).Select(m => m)).FirstOrDefault();
if (v != null)
{
dd.usercomments.DeleteOnSubmit(v);
dd.SubmitChanges();
return Json("1", JsonRequestBehavior.AllowGet);
}
else
{
return Json("0", JsonRequestBehavior.AllowGet);
}
}
html
<h5 style="background-color:#808080;font-family:'Cambria Math';text-align:center;padding-top:1px;margin-right:16px;margin-top:5px">Comments Posted by User</h5>
@foreach( var item in Model)
{
<div class="parentd" id="@item.id" style="border:1px solid black;font-size:large;font-family:'Times New Roman';margin-right:6px;margin-bottom:2px">@item.userid
<a class="hyp" href="@item.id" style="position:relative;width:10px;height:10px;padding-left:10%;display:none"><img src="~/images/del.jpg" style="width:20px;height:20px"/></a><div class="@item.id" style="display:none">@item.comments</div>
</div>
}
答案 0 :(得分:0)
试试这个:
$.get('admin/deletecomment', {id: id}, function (data) {
if (data == 1) {
debugger;
alert("Deletion Done");
} else {
alert("error");
}
}, "json"); // as response is json
当您从控制器返回json
时,您可以执行此操作。
对于测试用例,如果您要返回json
,那么这必须类似于{ key : value }
对的js对象。
所以if (data == 1) {
将是一个错误的检查,而你必须检查这样的事情:
if (data.key == 1) { // only if you have something like { key : 1}