asp.net-mvc - ASP.NET MVC 中外部 css 的更好方法?

标签 asp.net-mvc css

我有一个 ViewPage,我想在其中指定一个外部样式表。样式表仅适用于 ViewPage 中的元素。经过一些不成功的尝试后,我决定使用“Url.Content”,如下所示:

<asp:Content ID="cssLinkContent" ContentPlaceHolderID="CssLinkContent" runat="server">
    <link rel="stylesheet" type="text/css" href="<%= Url.Content("~/Content/custom.css")%>" />
</asp:Content>

这在运行时工作正常,但 Visual Studio 编辑器显示错误“类或 CssClass 值未定义”。我认为这是因为当我使用“Url.Content”时 Visual Studio 无法解析外部样式表。

有没有关于在运行时成功解析 URL 并让 Visual Studio 满意的解决方案?

提前致谢。

最佳答案

我会忽略 Visual Studio。这是一个很棒的工具,但有时它会尽力而为。您确定这是错误还是警告?我知道这是一个糟糕的答案,但我就是这么做的。

它不会提示仅用作 jQuery 素材的样式吗?

顺便说一句,您可能想编写一个 Html.Stylesheet 帮助程序来封装标记和 url 解析行为,如下所示:

public static string Stylesheet(this HtmlHelper Html, string url) { return Html.Stylesheet(url, null); }
public static string Stylesheet(this HtmlHelper Html, string url, string media)
{
    UrlHelper Url = new UrlHelper(new RequestContext(Html.ViewContext.HttpContext, Html.ViewContext.RouteData));
    string html = "<link type=\"text/css\" rel=\"stylesheet\" href=\"{0}\" {1}/>";
    if (!string.IsNullOrEmpty(media))
        media = "media=\"" + media + "\"";

    return string.Format(html, Url.Content(url), media);
}

导致这个更清晰的标记:

<%= Html.Stylesheet("~/Content/custom.css") %>

关于asp.net-mvc - ASP.NET MVC 中外部 css 的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094348/

相关文章:

javascript - javascript 中的 ajax 请求 - asp.net mvc

c# - Twilio c# helper,如何使用此方法签名? void AddOutgoingCallerId (phoneNumber, friendlyName, callDelay, callback)

asp.net-mvc - Html.RenderPartial 和 Html.Render 的区别

html - Bootstrap Jumbotron 与 Container-fluid

html - 移动设备上真的很奇怪的白色间隙

css - 放置在 css 网格区域之外的文本

c# - 将音频(字节数组)发布到 MVC.NET Web Api

asp.net mvc API 外部登录

Safari 中的 CSS 定位中断

css - 推特 Bootstrap 3 : how to use media queries?