我有一个包含4个区域的asp.net MVC项目。
当我尝试在属于某个区域的控制器中的某个操作中放入参数时,我的问题就开始了。
我的RouteConfig:
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不是“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();
答案 0 :(得分:1)
您应该将_what重命名为id:
public ActionResult NullifiedInvoicesFix(string id)