c# - 将皮肤应用于以编程方式创建的控件

标签 c# asp.net skinning

我正在这样的页面代码隐藏中创建一个文本框:

protected override void OnInit(EventArgs e)
{  
      base.OnInit(e);
      TextBox test = new TextBox();
      test.SkinkId = "MySkin";
      placeHolder.Controls.Add(test);
} 

在我的皮肤文件中我有这个:

<asp:TextBox
    runat="server"
    SkinId = "MySkin"
    Width="400"
/>

为什么皮肤没有应用到控件。如果我在我的 aspx 页面中声明该控件,它工作正常,但如果我尝试以编程方式执行它,它就不起作用。

最佳答案

我知道这是一个旧线程。但我想分享我在类似情况下必须做的事情。对我有帮助的是在创建控件后使用 ApplyStyleSheetSkin(this)。

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

    TextBox test = new TextBox();
    test.SkinkId = "MySkin";
    test.ApplyStyleSheetSkin(this); // <--
    placeHolder.Controls.Add(test);
}

关于c# - 将皮肤应用于以编程方式创建的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825151/

相关文章:

asp.net - 如何部署/发布 ASP.NET 网站?

.net - 如何在WinForm应用程序中实现应用程序范围的颜色代码?

css - javafx2.2制作背景透明的滚动条

javascript - 根据下拉选择隐藏/显示控件

javascript - onBeforeUnload 事件以防止出现 "Are you sure you want to leave this page"消息

c# - C# 中的编译器错误 CS0120

c++ - 通过原始蒙皮生成 3D 模型

c# - 选择涉及日期和时间比较的查询

c# - 检查 SELECT 语句条件是否为真

asp.net - 以编程方式缓存用户控件并清除该缓存