带有动态参数的RouteLink

时间:2010-10-11 08:11:02

标签: asp.net-mvc asp.net-routing

我正在尝试将路由存储在数据库中,并根据参数列出这些路径。

有点像:

Route =“NewsDetail”

ParamKey 1 =“NewsID”

ParamVal 1 =“4”

.... 2..3

我想知道如何为链接创建这些路线参数...

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

有没有办法动态传递这些参数?

/ M

1 个答案:

答案 0 :(得分: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)
) %>