2010-10-11 56 views
2

我试图在数据库中存储路由,并列出基于参数的路由。具有动态参数的RouteLink

有点像:

路线= “阅读新闻”

ParamKey 1 = “NewSID的”

ParamVal 1 = “4”

.... 2..3

我想知道如何创建链接的路由参数...

<%= Html.RouteLink("Somename", "NewsDetali", new { newsID = Model.News.NewsID, headline = Model.News.Headline })%> 

是否有一些方法可以动态地传递这些参数?

/M

回答

2

以下是您可以做的事情。与往常一样与模型开始:

public class MyModel 
{ 
    public IDictionary<string, object> Values { get; set; } 
} 
在你的控制器动作

然后填充这个模型:

public ActionResult Index() 
{ 
    var model = new MyModel 
    { 
     // TODO: Fetch those values from your database 
     Values = new Dictionary<string, object> 
     { 
      { "NewsID", "4" }, 
      { "Headline", "foo bar" }, 
     } 
    }; 
    return View(model); 
} 
在你看来

最后:

<%= Html.RouteLink("Somename", "NewsDetali", 
    new RouteValueDictionary(Model.Values) 
) %>