2010-04-29 1 views
1

Это, должно быть, будет простой проблемой конфигурации.html.actionlink с .net 4.0 отображает пустые ссылки

Когда мои цели применения .Net 3.5

Этот код

<%= Html.ActionLink("Forgot your password?","ForgotPassword") %> 

делает это:

<a href="/Account/ForgotPassword">Forgot your password?</a> 

Когда мои цели применения .Net 4.0

Тот же самый код делает:

<a href="">Forgot your password?</a> 

Это сокращение части URL.

В моей версии web.config включена поддержка обратной совместимости.

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 

Идеи?

ответ

1

Это связано с маршрутом карты по умолчанию, имеющим дополнительное значение. Похоже, что .Net 4.0 меньше сожалеет о неправильном сопоставлении пути.

0

Решение по следующим вопросам очень мало. Пожалуйста, проверьте файл Global.asax.cs и измените строку

new { controller = "Home", action = "Index", id = "" } // Parameter defaults 

в

new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 

Примечание: в MVC2.0 необязательные поля помечены через "UrlParameter.Optional".

Я думаю, что это может решить ваши проблемы. Если нет, то обновите.

Спасибо,

Камал Кант Pansari