![](/img/trans.png)
[英]Url.Action is not working with routes specified in controller using route annotation
[英]Using value of String property inside a [Route()] data annotation in Controller
我正在研究 ASP.NET MVC 項目,在Action
內的Controller
中,我嘗試在[Route()]
數據注釋中使用STG_Route.ADD
屬性值,如下所示: [Route(STG_Route.ADD)]
但Visual Studio向我展示了這一點錯誤:
非靜態字段、方法或屬性“AdminController.STG_Route”需要 object 引用
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
, abstract 並且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}";
}
Controller
public class STGController : Controller
{
[Route(STG_Route.ADD)]
public ActionResult ADD()
{
return View();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.