控制器操作:
public ActionResult DeletePost(string id)
{
this.posts.DeleteById(id);
return this.Redirect("/Posts/All");
}
查看:
@Html.ActionLink("DeletePost", "DeletePost", "Posts", new { id = post.Id })
当我调试时,我可以看到post.Id在视图中被分配了正确的值。 但是一旦我进入控制器动作,字符串id就为空。
wtf我做错了吗?
路由是标准的:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
答案 0 :(得分:0)
你需要像这样使用ActionLink
(注意最后null
):
@Html.ActionLink("DeletePost", "DeletePost", "Posts", new { id = post.Id }, null)