【问题标题】:asp.net mvc Overriding CreateController of DefaultContollerFactory?asp.net mvc 覆盖 DefaultContollerFactory 的 CreateController?
【发布时间】:2010-02-26 02:23:43
【问题描述】:

public override IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName)

这个函数传入的controllerName有时候是正常的吗 “内容”?

我该如何避免呢?

public override IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName) { var controllerType = GetControllerType(controllerName); var projectType = ConfigurationManager.AppSettings["Sales"]; if (controllerType.BaseType == Type.GetType(projectType)) { var salesid = requestContext.RouteData.Values["salesid"]; int intValue; int.TryParse(salesid.ToString(), out intValue); if (intValue == 0) throw new FormatException("salesid is missing"); return Activator.CreateInstance(controllerType, int.Parse(salesid.ToString())) as IController; } return base.CreateController(requestContext, controllerName); }

这里传递的控制器名称有时是“内容”。 我只是认为它应该是控制器名称。

【问题讨论】:

    标签: controller factory


    【解决方案1】:

    传入这个函数的controllerName有时是“内容”正常吗?

    不确定您的意思有时。 您必须拥有 ContentController,并且当调用此控制器的操作时,控制器名称将为“content”/“Content”。

    我该如何避免呢?

    我看不出有什么理由需要避免在 controllerName 参数中包含控制器的名称。

    【讨论】:

      猜你喜欢
      • 2011-05-24
      • 2011-12-14
      • 1970-01-01
      • 2011-02-11
      • 2013-10-15
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多