我试图做一个继承自“Controller”类的自定义控制器,并添加其他标题和方法,将其用作我项目中所有控制器的Controller。
这是我的代码
namespace Filters
{
[Localization("en")]
public abstract class CustomController : Controller
{
private Entities db = new Entities();
private Log log;
protected Log initLog(string aController)
{
this.log = new Log(aController, SG.getUser(Session), VG.config_string_connect_log);
return this.log;
}
protected override void OnException(ExceptionContext filterContext)
{
Response.StatusCode = 500;
TempData["MensajeExcepcion"] = filterContext.Exception.Message;
filterContext.Result = new ViewResult
{
ViewName = "Error500",
TempData = TempData
};
}
}
}
我不知道该怎么办,当我从CustomController继承时,如何指定,例如在 [Localization(“es”)] 中使用它的语言。在这种情况下是“en”,但是,我可以在我继承的那一刻指定另一个字符串吗?
我在考虑使用泛型类型,但是......标题在...之前:(
公共类MyController:CustomController<¿Something?>(){ }
谢谢:)
答案 0 :(得分:0)
尝试使用将在子控制器中覆盖的属性创建基本控制器类。见下文:
public abstract class BaseController : Controller
{
public abstract string Localization { get; }
}
public class MyController1 : BaseController
{
public override string Localization => "en";
}
这种方法对你有用吗?
答案 1 :(得分:0)
但那只是一个BaseController字符串属性,如何在标题的Localization定义中使用它?
*名称空间过滤器
{
[本地化(“en”)] < ---- HERE
公共抽象类BaseController:Controller
{