Создание ссылок действий со специальными символами - PullRequest
2 голосов
/ 03 февраля 2012

Я пытаюсь создать ссылку для действия с параметром 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:Неверный анонимный член объявления типа.Члены анонимного типа должны быть объявлены с назначением члена, простым именем или доступом члена.

Есть какие-нибудь идеи, как заставить это работать с Action Link?

1 Ответ

1 голос
/ 03 февраля 2012

Анонимные типы, которые используются в методе 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 } })
...