<Link> в методе Helper выдает «Ссылка на элемент не может быть вложена в элемент« ссылка »» - PullRequest
7 голосов
/ 22 июня 2011

Я создал метод Helper в проекте MVC3 Razor как (Helpers.cshtml)

   @helper Link(string fileName, UrlHelper url){
        <link href="@url.Content("~/Content/" + fileName)" 
              rel="stylesheet" type="text/css" />
   }

Но я получаю всплывающую подсказку с предупреждением "Ссылка на элемент не может быть вложена в элемент" ссылка ".

Я нашел похожий вопрос на Asp.net Ошибка при использовании ссылки href внутри моего ContentPlaceHolder

У нас есть решение для этого.

1 Ответ

6 голосов
/ 08 декабря 2011

Имейте в виду, что в <head> должны быть только теги <link>, а не <body>. Инструмент не может подтвердить, откуда вы вызовете этого помощника , поэтому он лает.

Вы можете убедиться, что это происходит, временно завернув помощника в действительный каркас разметки, как показано ниже. Предупреждение должно уйти. Затем вы можете подтвердить отрицательный случай, изменив link на какой-то выдуманный тег, например foo, или удалив title, и посмотрите, какие ошибки появляются. Тогда вам должно быть удобно, если , если вы вызываете своего помощника только из <head> разделов, ваша результирующая разметка link в порядке. <html> <head> @helper Link(string fileName, UrlHelper url){ <link href="@url.Content("~/Content/" + fileName)" rel="stylesheet" type="text/css" /> } <title>Foo</title> </head> <body></body> </html>

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