我有一个HtmlHelper扩展方法,如下所示。它返回PagedList.Mvc.HtmlHelper.PagedListPager
的实例。
PagedListRenderOptions指定了一些CSS类。使用此方法的每个视图都需要向包含样式的css文件添加一个链接。我发现这种重复和重复。
有没有办法将CSS添加到此处返回的MvcHtmlString实例?
public static MvcHtmlString PagedListPagerCustom(this HtmlHelper helper, UrlHelper Url, PagedList.IPagedList pager)
{
return PagedList.Mvc.HtmlHelper.PagedListPager(
helper,
pager,
page =>
{
return Url.Action("Inspection", "Operation", new { page = page, pageList = true });
},
new PagedList.Mvc.PagedListRenderOptions()
{
LiElementClasses = new List<string> { "pagerLiElement" },
ContainerDivClasses = new List<string> { },
UlElementClasses = new List<string> { "pagerUlElementClasses" },
DisplayPageCountAndCurrentLocation = false,
DisplayLinkToFirstPage = PagedList.Mvc.PagedListDisplayMode.Always,
DisplayLinkToLastPage = PagedList.Mvc.PagedListDisplayMode.Always,
DisplayLinkToNextPage = PagedList.Mvc.PagedListDisplayMode.Always,
DisplayLinkToPreviousPage = PagedList.Mvc.PagedListDisplayMode.Always,
Display = PagedList.Mvc.PagedListDisplayMode.IfNeeded,
LinkToLastPageFormat = "Last",
LinkToNextPageFormat = "Next",
LinkToPreviousPageFormat = "Prev",
LinkToFirstPageFormat = "1st",
DisplayEllipsesWhenNotShowingAllPageNumbers = true,
MaximumPageNumbersToDisplay = 5,
DisplayLinkToIndividualPages = true,
ClassToApplyToFirstListItemInPager = "pagerLiElementFirst",
ClassToApplyToLastListItemInPager = "pagerLiElement",
}
);
}
我要添加的css链接是:
<link href="~/Content/css/PageListCustom.css" rel="stylesheet">
答案 0 :(得分:1)
不幸的是,这并不是很容易实现。 CSS <link>
标签必须在W3C documentation指定的<head>
部分中。
此元素定义一个链接。与A不同,它可能只出现在文档的HEAD部分中,尽管它可以出现很多次。尽管LINK没有内容,但它传达的关系信息可能由用户代理以多种方式呈现(例如,带有下拉菜单的链接的工具栏)。
这意味着您不能仅将其作为HtmlHelper
字符串的一部分输出,因为它将在HTML页面的正文中使用。您必须改为手动将CSS链接添加到<head>
或使用inline <style>
element,这可以说是不太干净的解决方案。