методы расширения не могут быть динамически отправлены бритвой mvc3 - PullRequest
2 голосов
/ 27 октября 2011

У меня проблема при попытке использовать Html помощники.Я читал, что динамическое приведение в действие должно работать, но я не уверен, как получить его в моем случае.Код:

@{ 

 Html.LinkIfHasData(top.Text, Html.MenuTargetURL(top), false, 
 new { rel    = "tab" + @top.ID });

 }

LinkIfHasData возвращает MvcHtmlString, а MenuTargetURL возвращает строку.

Я пробовал это:

@{ 

 (string)Html.LinkIfHasData(top.Text, (string)Html.MenuTargetURL(top), false, 
 new { rel    = "tab" + @top.ID });

 }

Но это не работает.Есть идеи?

Спасибо,

H

1 Ответ

2 голосов
/ 27 октября 2011

Вы вставили своего помощника в блок кода, поэтому сгенерированный HTML не будет отображаться в вашем представлении. Удалите помощника из блока кода и поместите его в строку зрения. Измените ваш взгляд следующим образом:

@Html.LinkIfHasData(top.Text, Html.MenuTargetURL(top), false, 
    new { rel    = "tab" + @top.ID })
...