我有一个包含 4 个区域的 asp.net MVC 项目。
当我尝试将参数放在属于某个区域的控制器中的一个操作中时,我的问题就开始了。
我的路线配置:
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 }
);
}
这是我的控制器中的一项操作。当我调试它时,_what 字符串参数获取操作“NullifiedInvoicesFix”的名称。
当我输入 mysite/bg/Jde/NullifiedIncoicesFix/update 时,_what 不是“更新”而是“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();