4 つの領域を含む asp.net MVC プロジェクトがあります。
私の問題は、ある領域に属するコントローラーのアクションの 1 つにパラメーターを入れようとしたときに始まります。
私のルート構成:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
私のエリア登録:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"bg_default",
"bg/{controller}/{action}/{id}",
new { controller="jde",action = "Index", id = UrlParameter.Optional }
);
}
これが私のコントローラーの1つのアクションです。デバッグすると、_what 文字列パラメーターがアクションの名前「NullifiedInvoicesFix」を取得します。
mysite/bg/Jde/NullifiedIncoicesFix/update と入力すると、_「更新」ではなく「NullifiedInvoicesFix」となります
public ActionResult NullifiedInvoicesFix(string _what)
{
if (_what == "view")
{
ViewBag.F4211 = this.db.Query<dynamic>(@"SELECT sdivd,SDDOC,SDDCT,SDDOCO,SDDCTO,SDODOC,SDODCT FROM F4211 WHERE SDDCT IN
('E8','E9','E0','EP','EC','EB','ED') AND SDODOC <> SDDOC AND
SDODOC<>0 order by sdivd");
}
return View();