通常我会创建一个提交按钮来发布数据,但在这种情况下,我希望[HttpPost]操作在页面加载时发布。此页面正在从其他来源收集数据,用户无需点击提交。
答案 0 :(得分:4)
只需使用ajax调用,假设get动作返回标记列表,如下所示:
public ActionResult Index()
{
var tags = _tagRepository.GetAllTag();
return View(tags);
}
现在在索引视图中你拥有所有标签,并且还想添加删除功能,现在你可以通过ajax调用来做到这一点:
@model IList<Blog.Domain.Model.Tag>
//list of tags here
<script type="text/javascript">
$(function () {
$(".delete").click(function (e) {
e.preventDefault();
var link = this.href;
$.ajax({
type: 'Post',
url: link,
success: function (data) { }
});
});
});
</script>
关于后期行动:
[HttpPost]
public JsonResult Delete(int tagId)
{
if (ModelState.IsValid)
{
_tagRepository.RemoveTag(tagId);
_tagRepository.Save();
RedirectToAction("Index");
}
return Json("");
}
答案 1 :(得分:3)
如果您不想使用AJAX,只需使用jQuery提交表单:
$('form').submit();