道歉,如果这是微不足道的,我已经阅读了许多其他评论,但仍然看不出有什么问题。我做了一些教程,看起来工作正常,所以我真的错过了一些简单的东西。
我有一个基本的'删除'链接,我想做一个JQuery Post回到控制器,从数据库中删除一个项目,然后更新视图。
我的观点/ Javascript:
<script type="text/javascript">
$(function () {
$(".RemoveLink").click(function () {
var id = $(this).attr("data-id");
if (id != '') {
$.post("@Url.Content("~/Agent/Remove")", { "id": id }, function (data) { alert('Here i am'); });
}
});
});
@foreach (var item in Model.Object) {
<tr id="row-@item.ID">
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
<a href="#" class="RemoveLink" data-id="@item.ID" >Remove</a>
</td>
</tr>
}
我的控制器:
[HttpPost]
public ActionResult Remove(int id)
{
return Json(new { Data = "true" });
}
任何帮助都会很棒。
答案 0 :(得分:1)
改为使用@Url.Action("Remove", "Agent")
。
@Url.Content("...")
用于查找网站的任何静态内容。
干杯
答案 1 :(得分:0)
以下代码效果很好。
@foreach (var item in Model.Object) {
<tr id="row-@item.ID">
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
<input type="button" class="RemoveLink" id="@item.ID" Value="Remove" />
</td>
</tr>
}
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$('.RemoveLink').live("click", function () {
Remove($(this));
});
});
function Remove(_this) {
var Id= $(_this).attr('id');
$.ajax({
type: 'POST',
url: '@Url.Action("Remove", "Agent")',
data: "{id: '" + Id + "'}",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
//do something here......
},
error: function () {
}
});
}
</script>