2016-02-05 366 views
2

NET MVC 5 **我想這樣 http://borntoprogram.com/.Net/.Net-Core/ASP.NET MVC 5 - 自定義網址屬性路由和動態控制器和操作方法

我知道我可以使用屬性路由實現它如下圖所示

網址
[RoutePrefix(".Net")] 
[Route("{action=Index}")] 
public class NetController : Controller 
{ 
    [Route(".Net-Core")] 
    public ActionResult NetCore() 
    { 
     return View(); 
    } 
} 

但我想要動態生成控制器和動作方法。並使用該屬性路由。
我想用點(。)在URL
秒件事我想的網址是非常簡單的具有類似於 域名/ CategoryOfArticle/ArticleName的 僅有3件作爲URL域名-BornToProgram.com ,網絡文章 - .Net,文章名稱 - .Net核心

我希望允許管理員決定網址的部分內容,以便每月或每天提交新文章。 形物體的類別(.NET例如) ,然後將項目的名稱(.NET核心,.Net的框架) 管理要上的網址

+2

你是什麼意思_generate控制器和動作方法的動態_? –

+1

在此問題中提出http://stackoverflow.com/questions/3303801/how-to-achieve-a-dynamic-controller-and-action-method-in-asp-net-mvc –

回答

1

完全控制由於屬性用於元數據附加到一個類,它在運行時是not possible to dynamically add them。但即使可以,屬性路由框架讀取並將它們轉換爲Route實例也不太可能正常工作。

如果您需要製作動態驅動的路線,解決方案是inherit RouteBase,因此您可以添加URL和/或指定在運行時應引用哪個控制器。您應該像示例中那樣緩存URL列表,但沒有理由不能修改緩存,以便在應用程序中添加個別URL時可以逐個添加它們(將它們添加到緩存和數據源一氣呵成,所以它們都是立即可用的)。