这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
看到一个网友,有论坛上问及,动态的生成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中使用文本框的值动态生成控件的方法的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!