Asp.net中使用文本框的值动态生成控件的方法
程序员文章站
2023-12-11 19:10:52
看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花”字,点一下“生成”按钮,就会在下面生成一个checkbox,它的text属性是“花”。再...
看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花”字,点一下“生成”按钮,就会在下面生成一个checkbox,它的text属性是“花”。再输入一个“鸟”,点一下按钮,就会生成第二个checkbox控件,text属性是“鸟”...
insus.net的解决方法很简单,就是每次在文本框输入的值都存起来,然后把这些数据绑定至一个checkboxlist控件上就行了。
详细,先创建一个对象:
using system; using system.collections.generic; using system.linq; using system.web; /// <summary> /// summary description for letter /// </summary> namespace insus.net { public class letter { private string _name; public string name { get { return _name; } set { _name = value; } } public letter() { } public letter(string name) { this._name = name; } } }
创建一个实体,这个实体你可以把它开发成可以操作性,如添加,编辑,更新,删除或是获取数据集,等等...
在本例中,insus.net只实添加以及获取数据的两个方法:
using system; using system.collections.generic; using system.linq; using system.web; /// <summary> /// summary description for letterentity /// </summary> namespace insus.net { public class letterentity { private list<letter> _letter = new list<letter>(); public void add(letter l) { this._letter.add(l); } public ienumerable<letter> letters { get { return this._letter; } } } }
万事俱备,只差aspx的实现了,创建一个aspx的网页:
在aspx.cs代码页中,你可以实现所需要的功能:
using system; using system.collections.generic; using system.linq; using system.web; using system.web.ui; using system.web.ui.webcontrols; using insus.net; public partial class default2 : system.web.ui.page { letterentity le = new letterentity(); protected void page_load(object sender, eventargs e) { if (!ispostback) { data_binding(); } le = temporaryletters; } private void data_binding() { this.checkboxlist1.datasource = le.letters; this.checkboxlist1.datatextfield = "name"; this.checkboxlist1.databind(); } protected void button1_click(object sender, eventargs e) { letter l = new letter(); if (!string.isnullorempty(this.textbox1.text.trim())) l.name = this.textbox1.text.trim(); le.add(l); temporaryletters = le; data_binding(); } public letterentity temporaryletters { get { if (session["letterentity"] == null) return new letterentity(); else return (letterentity)session["letterentity"]; } set { session["letterentity"] = value; } } }
你也许觉得很复杂,因为涉入存储数据的问题。如果你把数据直接存入数据库的话,你可以在上面#6步中把填写的值存入数据库中,在#4步中,去读取数据库的数据绑定给checkboxlist控件即可。
以上所述是小编给大家介绍的asp.net中使用文本框的值动态生成控件的方法的相关知识,希望对大家有所帮助