我在MVC3 Razor项目中创建了一个Helper方法(Helpers.cshtml)
@helper Link(string fileName,UrlHelper url){ <link href="@url.Content("~/Content/" + fileName)" rel="stylesheet" type="text/css" /> }
但我得到一个警告工具提示“元素链接不能嵌套在元素’链接’”.
我在Asp.net上发现了类似的问题
Error when using link href inside my ContentPlaceHolder
我们有解决方案吗?
解决方法
请注意,您应该只有< link> < head>中的标签而不是< body>.工具无法确认您将从何处调用此助手,因此它会吠叫.
您可以通过将帮助程序临时包装在有效的标记框架中来验证这是正在发生的事情,如下所示.警告应该消失.然后,您可以通过更改某些已制作标签(如foo)的链接或删除标题来确认否定案例,然后再显示这些错误.你应该感到舒服,只要你只从里面打电话给你的助手< head>部分,您得到的链接标记是好的.
<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>