asp.net如何在运行时,根据控件的属性名动态的添加控件的属性?

问题描述

问题描述:要实现的功能很简单,就是根据checkboxlist中选择的值,设置label的一些属性。但是我想不用硬编码Label1.Font.Bold这种方式,而是根据item的value动态设置。代码如下:foreach(ListItemiteminCheckBoxList1.Items){if(item.Selected==true){//item.Value的值为Bold。通过item.Value可以得知我是想设置Label1.Font的Bold为true。Label1.Font.Bold=true;//硬编码。这个当然可以//但是我想通过item.Value获取的值动态的设置,而不是硬编码代码中。于是想用下面的方法:stringff=item.Value;//用ff代替bold,拼出Label1.Font.BoldLabel1.Font.ff=true;//这个为什么不行呀??有没有类似的解决方法??}}试验过的其它方法:通过Table1.Attributes.Add("style","text-align:center;")可以设置表中文字的对齐方式为居中。是在HTML中加了sytle属性。然后我就想通过此方法给label控件加上Font-Underline="True";写法为Label1.Attributes.Add("Font-Underline","True");结果,属性还是加到html中了,有没有一个方法可以给web控件加属性呀!

解决方案

解决方案二:

解决方案三:
Label1.Text=item.Value;Label1.Font.Bold=true;
解决方案四:
还得硬编码,switch把各种情况考虑了
解决方案五:
折腾了一天,终于弄出来了,用的反射。感觉如果有个类似label1.font["Bold"]就方便多了。代码如下:aspx代码:<asp:LabelID="Label1"runat="server"Text="00000000"></asp:Label><asp:CheckBoxListID="CheckBoxList1"runat="server"RepeatDirection="Horizontal"><asp:ListItem>Bold</asp:ListItem><asp:ListItem>Italic</asp:ListItem><asp:ListItem>Strikeout</asp:ListItem><asp:ListItem>Overline</asp:ListItem></asp:CheckBoxList><asp:ButtonID="Button1"runat="server"Text="Button"onclick="Button1_Click"/>cs代码:protectedvoidButton1_Click(objectsender,EventArgse){TypetyOfLbl=Label1.GetType();PropertyInfo[]lblProperties=tyOfLbl.GetProperties();foreach(PropertyInfolblPropertyinlblProperties){//这里只是设置font的属性,如果要设置text的属性的话,再加上if(lblProperty.Name=="Text"){}if(lblProperty.Name=="Font"){Typelblfont=Label1.Font.GetType();PropertyInfo[]lblfontProperties=lblfont.GetProperties();foreach(PropertyInfolblFontPropertyinlblfontProperties){if(CheckBoxList1.Items.FindByValue(lblFontProperty.Name)!=null)//这句一定要加上,否则出错,对象未引用。原因应该是对象是null,在下边的语句中没法操作。{//把CheckBoxList1和Label1联系起来的是<asp:ListItem>Overline</asp:ListItem>中的Overline等,即label控件font中的属性名字。//下面这句话的意思是:如果现在的属性在CheckBoxList1是选中的话,则设置相应的label属性;if(CheckBoxList1.Items.FindByValue(lblFontProperty.Name).Selected){lblFontProperty.SetValue(Label1.Font,true,null);}else{lblFontProperty.SetValue(Label1.Font,false,null);}}}}}}
解决方案六:
楼主挺厚道,把办法共享出来。

时间: 2024-09-14 02:41:14

asp.net如何在运行时,根据控件的属性名动态的添加控件的属性?的相关文章

iOS运行时(Runtime)总结

声明 本博客中文章不会在此处再更新,只会在微信公众号中更新,请关注微信公众号,以获取最新的学习资源和更多学习资源.本博文末尾有微信公众号二维码,扫一扫添加关注. 原文出自:微信公众号iOSDevShares的文章 引言 相信很多同学都听过运行时,但是我相信还是有很多同学不了解什么是运行时,到底在项目开发中怎么用?什么时候适合使用?想想我们的项目中,到底在哪里使用过运行时呢?还能想起来吗?另外,在面试的时候,是否经常有笔试中要求运用运行时或者在面试时面试官会问是否使用过运行时,又是如何使用的? 回

ASP.net中动态加载控件时一些问题的总结

asp.net|动态|加载|控件|问题 经常见到有人说在ASP.net中不要使用动态控件,我想主要的原因在于使用动态控件会带来一些问题,在做项目的过程中,我将由动态加载控件引发的总是作了一个小小的总结.1 .在使用LoadControl加载控件后,用户控件中的某些控件不再响应事件. 这个问题主要是由于将控件加载放在if (!Page.IsPostBack)之内引起的,放在外面即可.在思归的blog上对此问题进行了详细的说明.2.用户控件中某些控件的响应出现问题,如某个按钮第一次选择时不触发CLI

求助动态添加控件

问题描述 今天遇到个困难,要动态添加控件.大致内容如下:有一个TABA下面有两个TAB,分别为a,b.TABa里面有多个TEXTBOX,TABb里面有多个GRIDVIEW和按钮.点ADD按钮的时候,TABA以及里面所有控件增加一组.请问这种动态的添加控件的方法大致是什么?添加的控件要如何绑定事件呢?

Visula Basic 6.0语言编程项目添加控件的问题

问题描述 Visula Basic 6.0语言编程项目添加控件的问题 VB6.0中添加控件到窗体,已经引用了这个工程,为什么还是提示说ActveX无法创建对象??? 解决方案 你的控件有没有正确注册,是什么控件?如果是商业控件,有些需要安装许可证.

动态添加控件

问题描述 我想winform中的输入框控件随着数据库中的字段增加而相应增加,并通过sql进行数据插入.该怎么实现呢 解决方案 解决方案二:winform中每个控件,包括窗体都有这个属性的:Controls你可以这样使用Controls.Add(你的新控件)解决方案三:TextBoxt1=newTextBox();this.Controls.Add(t1);解决方案四:CheckBox的自动增加privatevoidAllCheck_CheckedChanged(objectsender,Even

请问winform动态生成的控件如何保存位置等信息?

问题描述 就是关闭之后,下次打开,动态生成的控件还能在原来的位置,而不是重置,如果直接设置的控件我可以写入到xml当中,下次读取,但是动态生成呢,比如说点击一个button然后可以生成另外一个可以拖动的button,在运行界面我拖动新生成button到某个位置,关闭之后再次打开,我希望新生成的button还在,谢谢各位! 解决方案 本帖最后由 haixilk 于 2014-07-11 10:42:36 编辑解决方案二:最简单的用this.Hide()this.Show()解决方案三:关闭的时候保

ASP.NET底层架构探索之再谈.NET运行时

在这里我们有一个在ISAPI扩展中活动的,可调用的ISAPIRuntime对象的实例.每次运行时是启动的并运行着的时候(译注:相对的,如果运行时并没有启动,就需要象上一章所说的那样载入运行时),ISAPI的代码调用ISAPIRuntime.ProcessRequest()方法,这个方法是真正的进入ASP.NET管道的入口,这个流程在图4中显示. 记住ISAPI是多线程的,所以请求也会通过AppDomainFactory.Create()(译注:原文为ApplicationDomainFactor

ASP.NET底层架构探索之进入.NET运行时

进入.NET运行时的真正的入口发生在一些没有被文档记载的类和接口中(译著:当然,你可以用Reflector来查看J).除了微软,很少人知道这些接口,微软的家伙们也并不热衷于谈论这些细节,他们认为这些实现细节对于使用ASP.NET开发应用的开发人员并没有什么用处. 工作进程(IIS5中是ASPNET_WP.EXE,IIS6中是W3WP.EXE)寄宿.NET运行时和ISAPI DLL,它(工作进程)通过调用COM对象的一个小的非托管接口最终将调用发送到ISAPIRuntime类的一个实例上(译注:原

基于MFC的ActiveX控件,如何实现运行时,用户可动态调整控件大小和位置?

问题描述 基于MFC的ActiveX控件,如何实现运行时,用户可动态调整控件大小和位置? 基于MFC的ActiveX控件,如何实现运行时,用户可动态调整控件大小和位置? 请大神们帮帮忙.在线等. 解决方案 调整控件大小是宿主程序的事,不关activex 即便不写任何代码,都是可以调整大小的,只是如果你不写代码,调整控件大小,里面的内容不会跟着缩放,而是保持不变,如果尺寸变小,右下角的东西会看不见. 解决方案二: 在OnSize中写可动态调整控件大小和位置的代码 解决方案三: 有没有相关的列子可供