Mvc 3 Как сохранить маршрут в классе? - PullRequest
1 голос
/ 07 июня 2011

Каков наилучший способ сохранить маршрут по всем хорошим шаблонам?

У нас есть класс, который возвращает список с пунктами меню.Эти элементы затем отображаются в главном меню.Когда вы наводите курсор мыши на элемент в меню, выполняется вызов ajax.Это означает, что я должен сохранить путь и параметры для этого вызова в пункте меню.Каков наилучший способ хранения этой информации?Я думал о RouteValueDictionary, но как я могу преобразовать один из них в полностью функционирующий маршрут?

Мы используем Mvc 3 и C #.

Ответы [ 3 ]

1 голос
/ 07 июня 2011

Почему бы не использовать UrlHelper.Action для создания URL-адреса, когда он вам нужен?

1 голос
/ 07 июня 2011

Это может работать для вас:

public class MenuItem
{
    public string Name { get; set; }

    public RouteValueDictionary RouteValues
    {
        get
        {
            return new RouteValueDictionary(
                new {
                    controller = "Pages",
                    action = this.Name
                });
        }
    }
}

На ваш взгляд, вы можете сделать что-то вроде этого:

<ul>
    @foreach (var menuItem in Model.MenuItems)
    {
        <li>@Html.RouteLink(menuItem.Name, menuItem.RouteValues)</li>
    }
</ul>

Если вам нужен только путь, вы можете сделать это:

@Url.RouteUrl(menuItem.RouteValues)

0 голосов
/ 07 июня 2011

Используйте UrlHelper Class для создания ссылок и их сохранения. Это очень гибкий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...