我要做的是放弃空白的 Delete(),只使用 Delete(string username)
在您的 url 路由中,您会有类似于 "/{Controller}/{Action}/{username}/" 的内容吗?如果您有“/{Controller}/{Action}/{Id}/”,那么最好执行 Delete(string id),这样只需使用 url 来处理此“/Account/Delete/davide/”
也就是说,使用您的默认路由,它应该类似于默认 ID 为“”
然后在您的 Delete(string id) 方法中有:
public ActionResult Delete(string id)
{
if(string.IsNullOrEmpty(id)) return EmptyID();
// Continue normal Delete method
}
public ActionResult EmptyID()
{
// The method you were going to have on a blank delete.
}
或者只是将其包装在 if {} else {} 上的一个方法中
无论哪种方式,我都会使用一种方法,并在您的空字符串路由中对您的用户名/id 进行默认设置,然后以这种方式处理它。
如果您想与我联系以进一步跟进我的意思,或者有任何帮助,请在我的信息页面上通过 andrew@my domain 联系我。
编辑:嗯,Berko 说的差不多,我不确定命名属性会如何帮助 - 所以请在此处发表评论,为其他发现相同问题的人详细说明!:)