Lui*_*uis 5 c# asp.net skinning
我在这样的页面的代码隐藏中创建一个文本框:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
TextBox test = new TextBox();
test.SkinkId = "MySkin";
placeHolder.Controls.Add(test);
}
Run Code Online (Sandbox Code Playgroud)
在我的皮肤文件中我有这个:
<asp:TextBox
runat="server"
SkinId = "MySkin"
Width="400"
/>
Run Code Online (Sandbox Code Playgroud)
为什么皮肤没有应用于控件.如果我在我的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);
}
Run Code Online (Sandbox Code Playgroud)
“ASP.NET 主题系统对何时可以设置不同的主题信息有限制。Theme 属性可以在 PreInit 期间设置。但是 StyleSheetTheme 是在编译时处理的,因此不能在像 PreInit 这样的事件中以编程方式覆盖。”
| 归档时间: |
|
| 查看次数: |
2955 次 |
| 最近记录: |