簡體   English   中英

在 Controller 中的 [Route()] 數據注釋中使用 String 屬性的值

[英]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_Routeobject的 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繼承自RoutesADD不能定義為const string類型,然后您不能在Route[()]中使用STG_Route.ADD 我建議您不要讓STG_RouteRoutes繼承並將值直接分配給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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM