Добавить в коллекцию маршрутов - PullRequest
0 голосов
/ 02 августа 2011

У меня есть следующие данные маршрута

object newsRoute = new
{
    Area = "Admin",
    Controller = "News",
    Action = "Edit"
}

Как я могу добавить Title = "Hello" к объекту routNews?
Как и в аналогичных

newsRoute.Append(Title = "Hello");

1 Ответ

1 голос
/ 02 августа 2011

Когда вы создаете анонимный объект, вы эффективно определяете свойства анонимного класса. Я не думаю, что вам повезет, если вы попытаетесь переопределить тип по факту. Вы могли бы создать новый анонимный объект с новым полем и исходными полями и скопировать поля, но я предполагаю, что вы не захотите этого делать.

Вы говорите, что объект представляет Routedata, в этом случае, вероятно, будет хорошей идеей преобразовать анонимный объект в экземпляр RouteValueDictionary с помощью следующего метода

http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.anonymousobjecttohtmlattributes(v=VS.98).aspx

После преобразования объект имеет нормальную семантику словаря, поэтому вы можете добавлять новые пары ключ-значение по желанию.

После этого вы сможете использовать RouteValueDictionary для генерации ваших URL

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