簡體   English   中英

如何在MVC中的@ Url.Action內部應用動態控制器名稱

[英]How to apply dynamic controller name inside @Url.Action in MVC

在我的DOT NET CORE MVC應用程序中,我在視圖內使用Url Action生成並重定向操作鏈接

@Url.Action ("Action Name","Controller Name")

上面的synatax對我來說很好,我正在傳遞控制器的靜態值,例如

'@Url.Action(nameof(EmployeeController.Edit),"Employee")'

這里的控制器名稱是靜態的,如果當時我更改控制器名稱,我想避免將來出現類似情況,我需要記住視圖中的更改,因此我的要求基本上是我想通過以下控制器名稱

'@Url.Action(nameof(EmployeeController.Edit),nameof(EmployeeController))'

控制器和動作方法是

public class EmployeeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Edit()
        {
            return RedirectToAction("Index", "HotelList", new { area = "Hotel" });
        }
    }

建議我這樣做的最佳方法

提前致謝

按照慣例,控制器類以“ Controller ”一詞結尾,但出於URL目的對它們的引用卻沒有。 (老實說,直到現在我才從未出現過這種差異。)最好不要破壞該約定,因為它可能會引發其他問題。 相反,也許只是修改結果中使用的字符串。

像這樣:

nameof(EmployeeController).Replace("Controller", string.Empty)

如果經常使用它,為簡單起見,也許將其封裝到一個輔助方法或擴展方法中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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