【发布时间】: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