在控制器中的 [Route()] 数据注释中使用字符串 属性 的值
Using value of String property inside a [Route()] data annotation in Controller
我正在开发一个 ASP.NET MVC 项目,在 Action
中 Controller
我尝试在 STG_Route.ADD
属性 中使用值 [Route()]
像这样的数据注释:[Route(STG_Route.ADD)]
但是 Visual Studio 告诉我这个错误:
非静态字段、方法或 属性 需要对象引用 'AdminController.STG_Route'
STG_Route
是object
的class,这个class是STG_Route
STG_Route
class 代码:
public class STG_Route:Routes
{
public override string ADD => "/STG/Add";
public override string SHOW => "/STG/Show";
public override string PROFILE => "/STG/{CODE}";
}
Routes
是另一个 class
请帮助我如何在 [Route()]
中使用 ADD
属性 的值
提前致谢。
覆盖 property
必须是 virtual
,抽象并且 STG_Route 继承自 Routes , ADD
不能定义为 const
string
类型,那么你就不能在 Route[()]
中使用 STG_Route.ADD
。建议不要让STG_Route继承Routes,直接给ADD
赋值。
STG_Route
public class STG_Route
{
public const string ADD="/STG/Add";
public const string SHOW= "/STG/Show";
public const string PROFILE= "/STG/{CODE}";
}
控制器
public class STGController : Controller
{
[Route(STG_Route.ADD)]
public ActionResult ADD()
{
return View();
}
}
我正在开发一个 ASP.NET MVC 项目,在 Action
中 Controller
我尝试在 STG_Route.ADD
属性 中使用值 [Route()]
像这样的数据注释:[Route(STG_Route.ADD)]
但是 Visual Studio 告诉我这个错误:
非静态字段、方法或 属性 需要对象引用 'AdminController.STG_Route'
STG_Route
是object
的class,这个class是STG_Route
STG_Route
class 代码:
public class STG_Route:Routes
{
public override string ADD => "/STG/Add";
public override string SHOW => "/STG/Show";
public override string PROFILE => "/STG/{CODE}";
}
Routes
是另一个 class
请帮助我如何在 [Route()]
ADD
属性 的值
提前致谢。
覆盖 property
必须是 virtual
,抽象并且 STG_Route 继承自 Routes , ADD
不能定义为 const
string
类型,那么你就不能在 Route[()]
中使用 STG_Route.ADD
。建议不要让STG_Route继承Routes,直接给ADD
赋值。
STG_Route
public class STG_Route
{
public const string ADD="/STG/Add";
public const string SHOW= "/STG/Show";
public const string PROFILE= "/STG/{CODE}";
}
控制器
public class STGController : Controller
{
[Route(STG_Route.ADD)]
public ActionResult ADD()
{
return View();
}
}