控制器:
[HttpPost]
public void DeleteState(string id)
{
int id1=Convert.ToInt32(id);
var _db = new clubDataContext();
var state = from m in _db.StateInfos where m.S_ID == id1 select m;
foreach (var m in state)
{
_db.StateInfos.DeleteOnSubmit(m);
}
try
{
_db.SubmitChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
查看:
<input id="state-id" type="text" value=@item.S_ID style="display:none"/>
<td>
<a id="delete-link" href="" >Delete</a>
</td>
$("#delete-link").click(function(){
$.ajax({
url: '@Url.Action("DeleteState", "ManageSystem")',
data: {'id':$("#state-id").val(); } ,
success: function(result) {
$('#edit-state').html("State Deleted Successfully");
}
});
}
});
我不知道是什么原因但是当我点击删除时没有调用控制器方法。有Ajax问题吗?我已经包含了Ajax Library。
主要的是我忘了提到我的视图是局部视图,我从这个局部视图调用控制器方法。所以我认为jQuery没有加载
答案 0 :(得分:0)
我认为问题是:您的控制器属于HttpPost
类型。确保Ajax调用的类型为Post
。使用type: "POST"
了解详情,请访问jQuery ajax Documentation。
答案 1 :(得分:0)
终于得到了解决方案。 之前已经提出过这个问题。对不起!
Is it OK to put JavaScript in Partial Views
这里我在stackoverflow本身遇到了类似的问题。
1)MVC4 partial view javascript bundling Issue
2)javascript-not-working-in-partial-view
3)document-ready-is-not-working-correctly-in-partial-view
4)How to execute JavaScript function on PartialView load in MVC 3
所以在我的项目中,我制作了单独的.js文件,使javascript可以执行,然后我就像这样调用这个js文件。
局部视图:
<script src="~/Scripts/stategrid.js" type="text/javascript"></script>