1
控制器動作:廣東話通參數到控制器
public ActionResult DeletePost(string id)
{
this.posts.DeleteById(id);
return this.Redirect("/Posts/All");
}
檢視:
@Html.ActionLink("DeletePost", "DeletePost", "Posts", new { id = post.Id })
當我調試I可以看到,post.Id被分配在視圖中正確的值
。 但是,一旦我到達控制器操作,字符串ID爲空。
wtf我做錯了嗎?
路由是標準:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
除了下面的很好的答案(一個或多個),請也請閱讀這篇文章,它解釋了爲什麼不推薦使用超鏈接來執行DELETE操作:http://stephenwalther.com/archive/2009/01/21/asp-net-mvc-tip-4 6-ndash-donrsquot-use-delete-links-because –