ASCX自定义控件中CSS规则应该放在哪里?

2023-12-30

我是 ASP.NET 的新手,但我正在开发一个自定义控件,该控件内部有一个多视图控件,可以显示一堆不同的内容。其中一些是使用 JQuery UI 元素(如选项卡和手风琴)显示的,这些元素将有相当多的自定义。

由于我将拥有许多仅适用于自定义控件内的元素(不适用于我们网站的其余部分)的 CSS 规则,因此我想知道将 CSS 样式规则放在哪里。

我通常只是将样式表放在站点根目录中的某个位置并从那里引用它。但当我使用 ASP.NET 时,我感觉应该将所有代码(包括 CSS、JS 等)放在自定义控件本身中。这感觉更“程序化”,将所有东西都放在一起。

谁能建议我应该怎么做? ASP.NET 中 Web 开发的最佳实践是什么?


如果您正在创建的控件位于单独组装,您可以将 CSS 文件嵌入到程序集中,使其可重用并创建一个从您的控制中直接链接到这些文件,然后在您的控制中您将把它们注册为渲染为link您页面中的标签

注意:请记住,您需要将程序集中的 CSS 文件标记为嵌入式资源

只需选择您的文件 |然后属性并更改其构建行动属性并将其设置为:嵌入式资源

在下面的代码中:

  • AjaxEnabled.Web.UI代表程序集的命名空间

  • DefaultStyle.css代表嵌入的CSS文件名

以下代码示例显示了所需的步骤:(在您的自定义服务器控件中)

[assembly: WebResource("AjaxEnabled.Web.UI.DefaultStyle.css", "text/css")]

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        if (this.Page.Header != null)
        {
            if (!this.Page.ClientScript.IsClientScriptBlockRegistered("defaultCss"))
            {
                var link = new HtmlLink();

                link.Href = this.Page.ClientScript.GetWebResourceUrl(
                    typeof(YourControlType),
                    "AjaxEnabled.Web.UI.DefaultStyle.css"
                );
                link.Attributes.Add("rel", "stylesheet");
                link.Attributes.Add("type", "text/css");

                this.Page.Header.Controls.Add(link);
                this.Page.ClientScript.RegisterClientScriptBlock(
                    typeof(Page),
                    "defaultCss",
                    string.Empty
                );
            }
        }
    }

您需要添加一个实例ScriptManager包含自定义控件的页面中的控件

<asp:ScriptManager runat="server" ID="sm"/>

在你的 ASPX 页面中你需要标记header作为服务器控件的部分

<head runat="server">

下面的代码:

link.Href = this.Page.ClientScript.GetWebResourceUrl(
                typeof(YourControlType),
                "AjaxEnabled.Web.UI.DefaultStyle.css");

呈现链接直接嵌入到程序集中的 CSS 文件


这个条件:

if (!this.Page.ClientScript.IsClientScriptBlockRegistered("defaultCss"))
...
this.Page.ClientScript.RegisterClientScriptBlock(
                        typeof(Page),
                        "defaultCss",
                        string.Empty
                    );

确保 CSS 在页面中仅呈现一次,即使您删除了多个控件实例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASCX自定义控件中CSS规则应该放在哪里? 的相关文章

  • IE8 中的 CSS 属性选择器错误?

    指定为CSS 2 1 http www w3 org TR CSS2 selector html attribute selectors input type submit or input type submit 必须匹配 type 属性
  • 在 Twitter 引导流体布局中调整 iframe 大小的正确方法是什么?

    我有一个 2 列流体 Twitter 引导程序布局 并希望其中一个窗格中有一个 iframe 它将包含 Google 任务小部件 https mail google com tasks ig https mail google com ta
  • 桌子高度如何固定?

    我想将表格高度固定为 600px 即使内容很长 尝试将表格包裹在一个div标签 并设置 CSS 属性div像这样 div tablewrapper height 600px overflow y auto 如果表格的高度超过 600 像素
  • 在 IE7 中水平对齐 div,无垂直堆叠

    我有一个固定容器 里面有一个附加容器 其中根据用户选择容纳了许多 DIV 我需要这些额外的 DIV 水平排列并提供水平滚动 但不是垂直滚动 比如这样 x x x 本质上 我的设置如下所示 div div div class final im
  • 用户代理样式显示为被覆盖,但当页面呈现时,它并没有

    我试图隐藏通过用户代理样式输入的密码输入字段的自动填充样式 检查元素时 计算的样式显示来自用户代理样式的颜色正在被覆盖 并且正在应用 fff 但实际的计算样式仍然是来自用户代理的样式 关于如何摆脱这个的任何想法吗 这是我用来尝试覆盖它的 C
  • 单个占用多少像素?

    我只想知道单个 nbsp 有多少个 px 这样我就可以计算并给出填充而不是 nbsp 准确地知道这一点是不可能的 因为这取决于字体的规格及其呈现方式 不间断空格通常以与相同字体的常规空格相同的宽度呈现 它只是建议浏览器不要在该点换行或折叠空
  • 链接到页面上的不同区域

    这似乎是一个愚蠢的问题 但是 所以我想做的是设置一个菜单部分 这样当用户单击该部分的标题时 它会将他们发送到页面上的特定位置 而无需向下滚动 我不完全确定这将如何运作或实现起来有多复杂 所以基本上我会 Menu 第一项 作为链接 第二项 作
  • 如何使用 Selenium WebDriver 获取 CSS 选择器?

    我正在尝试创建横幅菜单中显示的元素的动态 元素映射 包括为每个菜单显示的链接 该地图将存储在String 矩阵 它将用于不同的方法和测试 为此 我得到了元素的href属性并为菜单中显示的每个链接创建我自己的 CSS 选择器 这是我创建 CS
  • ASP.NET MVC 应用程序和 ASP.NET Web 应用程序有什么区别

    任何人都可以解释一下 ASP NET 中的 MVC 和 Web 应用程序之间的区别 在mvc中我们可以找到controllers文件夹 我们不能在 Web 应用程序中找到控制器文件夹吗 请消除我的困惑 MVC 使用控制器来编排模型和视图 以
  • 如何将CSS应用于iframe?

    我有一个简单的页面 其中有一些 iframe 部分 用于显示 RSS 链接 如何将主页中相同的 CSS 格式应用到 iframe 中显示的页面 Edit 这不能跨域工作 除非有适当的CORS 标头 https developer mozil
  • 重置 JQuery 表单验证

    我在类别表单填写上使用了 Jquery 表单验证 该表单由模式弹出 当用户将表单设为空白并点击 保存 时 触发 JQuery 验证错误 Now if user close this modal Not page refresh and op
  • EF Core - 在运行时向数据库添加新表

    我有一个 asp net core 项目 需要能够在运行时支持插件 因此 我需要根据插入的内容生成数据库表 每个插件都分为单独的项目 并且它们具有他们自己的 DbContext 类 要使用的插件在编译时是未知的 只有在运行时才知道 现在在
  • 调用存储过程时最大限度地减少代码重复

    我使用某个方法体来调用存储过程 示例代码如下 public void StoredProcedureThatIsBeingcalled int variable 1 int variable 2 out DataSet ds using S
  • Javascript - 删除粘贴上的空格

    我有一个最大长度为 10 的输入文本字段 该字段用于澳大利亚电话号码 10 位数字 电话号码通常分为以下语法 12 12345678 如果有人复制上面的内容并将其粘贴到我的输入字段中 显然会留下最后一位数字并保留空格 有没有办法在粘贴到输入
  • 使文本在 div 内可滚动

    我希望将一些冗长的文本包含到div可以通过向上或向下滚动来查看文本 现在 描述 文本呈现如下并且位于一个 div class div
  • JQuery、ASCX 和 webmethods 似乎不起作用

    我有一个级联下拉列表 其中 3 个 类型 类别和子类别 首先类型负载 然后选择类型 类别负载以及选择类别 子类别负载 我还有 2 个按钮 添加类别 和 添加子类别 单击这些按钮后 我调用 JQuery 模态表单来添加它们 我在代码后面使用
  • 没有 jQuery 的纯 CSS 工具提示[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用纯 CSS 创建 工具提示尾部 https stackoverflow com questions 5623072 how can i create a tooltip tail using
  • HTML 对齐文本

    我想在页面上显示文本 如下所示 My Text Text Here My Text More Text Here Text from line above continued here 我有以下标记只是为了测试
  • 无法使用 CSS 将宽度和高度应用于 -webkit-scrollbar

    webkit scrollbar width 5px height 5px webkit scrollbar thumb background color 808080 为什么宽度和高度属性不起作用 width用于垂直滚动条和height影
  • CSS3 Marquee / Ticker 动画最后没有空格

    我正在用 2 个项目集合构建字幕 旋转木马效果 循环两者item collection跨越translateX并不难 这里是小提琴 http jsfiddle net k1k3h2p0 但我不喜欢每个循环末尾的空白区域 知道两个集合的宽度可

随机推荐

  • 文件上传网站上应该避免使用“坏”文件扩展名?

    我正在重写一个文件托管站点 并且我希望能够托管每种文件类型 而不是仅仅拥有允许扩展名的 while 列表 我正在运行 nginx 和 linux 网站是用 php 构建的 我会禁用 php 文件的上传 但除此之外 还有什么我应该注意的吗 以
  • Springboot Wildfly 10部署错误jdk.unsupported module not found

    我有一个使用 Java 1 8 的 Spring Boot v2 项目 当我尝试在 Wildfly 10 上部署我的 Spring Boot 项目时 我不断收到此错误 19 12 25 295 ERROR org jboss as cont
  • 图像坐标到世界坐标opencv

    我使用 opencv 校准了我的单色相机 现在我知道相机的相机固有矩阵和畸变系数 K1 K2 P1 P2 K3 K4 K5 K6 假设相机位于 x y z 位置并进行 Roll Pitch Yaw 旋转 当相机看着地板 z 0 时 如何获取
  • 如何加速mysql中的Haversine公式?

    作为一个业余爱好项目 我开始为一家公司制作一个网站 我在为网站编写复杂代码方面不是很先进 但我想尝试一下 我有一个来自荷兰的邮政编码数据库 其中包含超过 471000 条记录 我使用半正矢公式查找 13 公里半径内有哪些邮政编码 然后从数据
  • Tweepy 速率限制/分页问题。

    我组装了一个小型 Twitter 工具来提取相关推文 以便稍后在潜在语义分析中进行分析 讽刺的是 这一点 更复杂的一点 工作得很好 问题在于拉动推文 我正在使用下面的代码来设置它 这在技术上是有效的 但没有达到预期 items 200 参数
  • AngularJS ui 路由器在没有 URL 的状态之间传递数据

    我面临着在两个状态之间传递数据而不暴露 url 中的数据的问题 就像用户无法真正直接登陆这个状态一样 例如 我有两个状态 A 和 B 我正在状态 A 进行一些服务器调用并传递调用的响应 陈述 B 服务器调用的响应是一条字符串消息 它很长 所
  • 在 ng-repeat 中加载背景图像时显示加载屏幕

    我已经加载了一个列表ng repeat其中每个元素包含一个img标签 我想显示某种加载指示器 包括列表项 直到每个项目中的每个图像都完成加载 我想我需要加入角度广播的一些事件back img指令 但我真的不知道从哪里开始 好的 所以我解决了
  • 为多对多关系的组合设计 SQL 模式(产品的变体)

    我希望标题能有点帮助 我使用 MySQL 作为我的数据库 我正在构建产品数据库 但不确定如何处理产品变体的存储价格 SKU 产品可能有无限的变体 并且每个变体组合都有自己的价格 SKU 等 这就是我目前设置产品 变体表的方式 PRODUCT
  • Java字符串初始化

    你更偏向于哪个 为什么 String myString null if someCondition myString something else myString something else OR String myString if
  • 假货组件未生成

    我不知道我需要做什么才能生成假货 在我的测试项目中 我包含了对我想要伪造的程序集的引用 它将 Fakes fakes 添加到我的项目中并构建了该项目 有大量警告 但错误数为 0 并且构建成功完成 但它没有添加对生成的 Fakes 程序集的任
  • BATCH - 移动超过 5 分钟的文件

    我想制作一个移动可执行文件 时间超过5分钟 不知道如何比较文件的修改日期与系统日期 echo off for f in log do move nf log Procesados exit 一种方法是下载查找工具 http gnuwin32
  • 如何使用 Rails 3.0.x 配置 Log4r?

    我尝试根据这篇文章使用Rails 3 0 4配置log4r http www dansketcher com 2007 06 16 integrating log4r and ruby on rails http www dansketch
  • 使用统一的初始脉冲在抛物线路径上移动 2D 物理体

    我拥有的 Unity 5 2D 中的一个射弹 受重力影响 我想以抛物线路径上的初始冲量从 A 点移动到 B 点 我知道的 随机起始位置的二维坐标 A 随机目标位置的二维坐标 B 我希望身体到达目标位置的时间 X 我想知道的是 我必须一次向身
  • PHP 中包含太多文件会降低性能吗? [复制]

    这个问题在这里已经有答案了 可能的重复 包含函数文件的效率 在 PHP 中 https stackoverflow com questions 2106700 efficiency for including files of functi
  • SQL Server Reporting Services 2008 中的列和行分组

    这是我需要填充为报告的期望结果 其中 xx 是人数 我有一个表 其中包含以下字段 table1 id state year as Quarter gender 我需要根据 id 确定计数并填充为报告 年份类似于 20081 20082 20
  • 新手关于maven的问题

    我唯一需要关心的配置文件是吗 pom xml 在我看来 Java 人的生活xml比任何其他东西都重要 这是真的吗 Maven 使用 XML 作为 POM 文件 因为 XML 是描述事物的不错选择 而 POM 文件是描述一个项目的 我认为 M
  • Gstreamer:将 Matroska 视频转码为 mp4

    我们正在使用的硬件不支持播放 mkv 文件 所以我需要将 Matroska mkv 视频文件转码为 mp4 视频文件 正如我从网上提供的转码材料中了解到的 我需要执行以下操作 使用分离不同的 mkv 文件流矩阵卡多路复用器元素 使用可用的
  • 寻求有关首次 SAML 实施的反馈

    我的任务是设计一个非常简单的 SSO 单点登录 流程 我的雇主指定它应该在 SAML 中实施 我想创建绝对尽可能简单的消息 同时确认 SAML 规范 如果你们中的一些人能查看我的请求和回复消息并告诉我它们是否对我的目的有意义 如果它们包含以
  • MySQL:动态添加列到查询结果

    我有这张表 update id project id content date 1 1 text 2011 12 20 22 10 30 2 2 text 2011 12 20 22 10 30 3 2 text 2011 12 21 22
  • ASCX自定义控件中CSS规则应该放在哪里?

    我是 ASP NET 的新手 但我正在开发一个自定义控件 该控件内部有一个多视图控件 可以显示一堆不同的内容 其中一些是使用 JQuery UI 元素 如选项卡和手风琴 显示的 这些元素将有相当多的自定义 由于我将拥有许多仅适用于自定义控件