C# 名称空间组织

C# 名称空间组织,c#,asp.net-mvc,C#,Asp.net Mvc,现在在area Book的布局视图中,我如何调用登录框 @Action(“LoginBox”、“Customer”)=>{“路径'/book'的控制器未找到或未实现IController.” 当然,因为它没有确切的名称空间 @动作(“登录框”,“客户”,新{area=”“}) =>确实进入控制器,但找不到视图,因为它使用根命名空间查找Loginbox视图的位置,该位置是错误的路径 因此,在Book区域中仍然可以保留loginbox.cshtml,但通用控制器可以共享其他API。我认为您应该使用继

现在在area Book的布局视图中,我如何调用登录框

@Action(“LoginBox”、“Customer”)=>{“路径'/book'的控制器未找到或未实现IController.”

当然,因为它没有确切的名称空间

@动作(“登录框”,“客户”,新{area=”“})

=>确实进入控制器,但找不到视图,因为它使用根命名空间查找Loginbox视图的位置,该位置是错误的路径


因此,在Book区域中仍然可以保留loginbox.cshtml,但通用控制器可以共享其他API。

我认为您应该使用继承而不是分部类:

Root    
    - Controllers 
               - CommonController 
                    namespace Nop.Web.Controllers
                    {
                      public partial class CommonController
                      {
                        ....
                       }
                   }

    - Areas (book)
            - Controllers
                        - CommonController
                            namespace Nop.Web.Controllers
                            {
                              public partial class CommonController
                              {
                                  public ActionResult LoginBox(...)
                                 {..}
                              }
                            }
            - View
                      - Common
                              - LoginBox.cshtml
那么下面的调用应该可以工作:

Root    
- Controllers 
           - CommonController 
                namespace Nop.Web.Controllers
                {
                  public class CommonController
                  {
                    ....
                   }
               }

- Areas (book)
        - Controllers
                    - CustomerController
                        namespace Nop.Web.Areas.Book.Controllers
                        {
                          public class CustomerController : CommonController
                          {
                              public ActionResult LoginBox(...)
                             {..}
                          }
                        }
        - View
                  - Customer
                          - LoginBox.cshtml

为什么使用分部类而不是继承?
@Html.Action("LoginBox", "Customer")