Web 用户控件 (.ascx) 可以使用 CSS 文件进行样式设置吗?

Posted

技术标签:

【中文标题】Web 用户控件 (.ascx) 可以使用 CSS 文件进行样式设置吗?【英文标题】:Can a Web User Control (.ascx) use a CSS file for styling? 【发布时间】:2011-03-08 20:53:05 【问题描述】:

这是我创建的名为 LogOnBox 的空白 .acsx 文件的来源。

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LogOnBox.ascx.cs" Inherits="ECommerce.Views.Shared.LogOnBox" %>

我想拖动一些标签和文本框等,并使用 CSS 文件为它们赋予样式。如何将 CSS 关联到 acsx 文件?

【问题讨论】:

您使用的是 ASP.NET 还是 ASP.NET MVC?每个人的解决方案都不同。 【参考方案1】:

在我的情况下,我想将 css 和 js 文件嵌入到 dll 中 为此,我会按照以下步骤进行操作 第 1 步 将下面的代码放在页面顶部的后面

   [assembly:WebResource("YourProjectName.Assets.Plugins.Dropzone.dist.dropzone.js",    "application/x-javascript")]
[assembly:WebResource("YourProjectName.Assets.Plugins.Dropzone.dist.dropzone.css","text/css")]
namespace Sanay.Suip.UserControls

    public partial class FileUpload : UserControlBase
    

第 2 步 并在 inInitial 事件中通过以下代码

`protected override void OnInit(EventArgs e)


base.OnInit(e);
string css = "<link href=\"" + Page.ClientScript.GetWebResourceUrl(this.GetType(),
"YourProjectName.Assets.Plugins.Dropzone.dist.dropzone.css") + "\" type=\"text/css\" rel=\"stylesheet\" />";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "cssFile", css, false);
ClientScriptManager csm = Page.ClientScript;
csm.RegisterClientScriptResource(GetType(), "YourProjectName.Assets.Plugins.Dropzone.dist.dropzone.js");

`

【讨论】:

【参考方案2】:

CSS 与页面相关联,而不是专门与控件相关联。但是当页面引用它时,您可以在控件中使用 CSS。

【讨论】:

那么您如何建议我将 html id 应用到我的 webcontrol 的一部分?【参考方案3】:

只需在包含用户控件的页面标题中引用 css 文件即可。

【讨论】:

+1 反对反对票。不管你怎么看,这都是真的。

以上是关于Web 用户控件 (.ascx) 可以使用 CSS 文件进行样式设置吗?的主要内容,如果未能解决你的问题,请参考以下文章

在asp.net网站中动态加载用户控件(ascx)

如何使用DevExpress开发用户控件

在网格视图中的 ASCX 控件内的控件上使用 Javascript 显示隐藏。 (ASP.NET + Javascript)

Javascript 在 ASCX 中不起作用 – ASP NET 用户控件

用户控件的使用总结

用户控件 WebUserControl .ascx