Как мне изменить URL-адреса, которые динамические данные генерируют мне для отношений сущностей?

Я использую динамические данные ASP.NET для создания веб-сайта, который имеет два аспекта - общедоступное представление, на котором можно только просматривать данные, и сайт администратора, на котором выполняются все операции CRUD. Я хочу, чтобы это был единый сайт DD.

Я установил два маршрута:

    routes.Add(new DynamicDataRoute("admin/{table}/{action}.aspx")
    {
        Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),
        Model = model
    });

и

    routes.Add(new DynamicDataRoute("{table}")
    {
        Action = PageAction.List,
        ViewName = "ListPublic",
        Model = model
    });

Проблема в том, что когда я просматриваю свою общедоступную страницу ListPublic (копию исходного List.aspx), она работает нормально, за исключением того, что ссылки на связанный объект используют URL-адрес admin / Suppliers / Details.aspx? SupplierId = 1 ... когда я хочу, чтобы они указывали на Suppliers / Details.aspx? SupplierId = 1

Как мне контролировать, как отображается URL-адрес для связи в динамических данных?


person Jack Ukleja    schedule 08.02.2009    source источник


Ответы (1)


Хорошо, оказалось, что немного погуглив, я помог себе. Кажется, на самом деле существует шаблон поля для этого под названием ForeignKey.aspx, который связывает URL-адрес со значением GetNavigateUrl ().

Думаю, теперь мой вопрос:

  • Что делает GetNavigateUrl?
  • Каков наилучший подход к достижению моего результата при создании общедоступного и частного веб-сайта с использованием динамических данных?
person Jack Ukleja    schedule 08.02.2009