我希望有一个方法可以采用特定的参数名称或通用名称:
//generic
public ActionResult Delete(string param1, string param2, int param3)
{
//do stuff
}
//specific
public ActionResult Delete(string sAssetCode, string sLockout, int Seq)
{
//do stuff
}
通用方法命名允许我设置如下所示的路由,这使我可以轻松创建一个URL,通过几乎任何控制器删除对象:
routes.MapRoute(
name: "AssetLockoutDelete",
url: "{controller}/Delete/{param1}/{param2}/{param3}",
defaults: new { action = "Delete" }
);
但这意味着这些方法有点难以阅读和遵循,因为参数现在是通用的。
如何让我的控制器中存在两种方法,同时仍然优雅?
以下是一种可能性,但似乎并非如此:
//generic
public ActionResult Delete_Helper(string param1, string param2, int param3)
{
//do stuff
}
//specific
public ActionResult Delete(string sAssetCode, string sLockout, int Seq)
{
//do stuff
}
//redirects all deletes to the "helper" method that uses generic parameter names
routes.MapRoute(
name: "AssetLockoutDelete",
url: "{controller}/Delete/{param1}/{param2}/{param3}",
defaults: new { action = "Delete_Helper" }
);