欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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中使用文本框的值动态生成控件的方法的相关知识,希望对大家有所帮助

上一篇:

下一篇: