Создание Ссылок С Помощью Специальных Символов


Я пытаюсь создать ссылку действия, которая имеет параметр url с точкой. Я могу сделать это следующим образом:

        <a href="/@(tab)Profile/Index?selected=@(tab)&DatingProfile.ProfileId=@(Model.DatingProfile.ProfileId)" selectedTab=@tab>@tab</a>

Но я не могу сделать это с помощью ссылки ActionLink:

        @Html.ActionLink(tab, String.Format("{0}Profile", tab), new{selected=tab,DatingProfile.Id=Model.DatingProfile.ProfileId}, {selectedTab = tab}) 

Я получаю следующую ошибку компиляции: CS0746: недопустимый Декларатор анонимного члена типа. Анонимные члены типа должны быть объявлены с назначением члена, простым именем или доступом к члену.

Есть идеи, как я могу заставить это работать со ссылкой действия?

1 2

1 ответ:

Анонимные типы, используемые в методе ActionLink для параметров маршрута, не допускают имен с '."характер-это функция C# - вы не можете изменить это. Но вы можете использовать следующее:

@Html.ActionLink(tab, string.Format("{0}Profile", tab), new RouteValueDictionary { { "selected", tab }, { "DatingProfile.ProfileId", Model.DatingProfile.ProfileId } }, new Dictionary<string, object> { { "selectedTab", tab } })