无法将参数从视图传递到控制器

时间:2017-01-24 13:03:52

标签: asp.net-mvc

控制器操作:

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 });

1 个答案:

答案 0 :(得分:0)

你需要像这样使用ActionLink(注意最后null):

 @Html.ActionLink("DeletePost", "DeletePost", "Posts", new { id = post.Id }, null)

参考this answer