asp.net点击按钮动态生成文本框控件

今天要做一个模块,aspx页面上有一个button,当我点击按纽的时候,自动会添加材料名称和材料数量两个文本框,可以多次点击多次添加,最后点提交的时候将这些文本框的值取出并存入数据库,希望大家帮帮忙啊!

页面代码:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<script type="text/javascript">
function AddInputArea()
{
var div = document.createElement("<div>");
div.innerHTML = "<table><tr><td>材料名称</td><td><input type='text' name='inputName' /></td></tr><tr><td>材料数量</td><td><input type='text' name='inputSum' /></td></tr></table>";
document.getElementById("Content").appendChild(div);
}
function GetAddInput()
{
var names = document.getElementsByName("inputName");
if(names.length == 0)
{
alert("没有可用的信息!");
return false;
}
genders = document.getElementsByName("inputSum");
for(var i = 0;i < names.length; i ++)
{
document.getElementById("names").value += names[i].value + ",";
document.getElementById("sums").value += genders[i].value + ",";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="Content"> </div>
<asp:HiddenField ID="names" runat="server" />
<asp:HiddenField ID="sums" runat="server" />
<input type="button" value="增加" onclick="AddInputArea()" />
<asp:Button ID="btnConfirm" runat="server" Text="提交" OnClientClick="return GetAddInput()" onclick="btnConfirm_Click" />
</form>
</body>
</html>

后台代码:
protected void btnConfirm_Click(object sender, EventArgs e)
{
string[] inputNames = names.Value.TrimEnd(',').Split(',');
string[] inputSum = sums.Value.TrimEnd(',').Split(','); //这两个数组就是输入的值了
for (int i = 0; i < inputNames.Length; i++)
{
Response.Write(inputNames[i]);//循环获得的每一个材料名称
Response.Write(",");
Response.Write(inputSum[i]);//循环获得的每一个数量
Response.Write("</br>"); //改成写入数据库就行了
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-26
TEXTBOX默认是个小方框型的文本框,里面的内容是不能换行的,我举一些常用的属性
1.设置TextMode="MultiLine"是变成多行文本框,也就是像我现在在写东西的这个文本框一样,可以换行
2.设置TextMode="Password"是变成密码框,内容不可见,为“*”
3.BackColor="red"是把文本框背景设为红色
4.CssClass="myClass"是调用名为"myClass"的css样式
5.Height="50px"是设置宽度为50个像素点,Width="50px"是设置高度为50个像素点
6.MaxLength="30"是设置最多能输入30个字节的文字(达到最大值时不能再输入了)
7.ReadOnly="true"设置只读属性,就是里面的内容不能更改,背景变为灰色
8.Text="用户名"设置文本框显示的文是“用户名”
9.Visible="false"是设置文本框不可见,就是页面不显示,但是可以通过ID取到里面的值,可以起到中间值的作用
10.Font-Size="12px",就是设置文本框的字体大小是12个像素点,你看到的平常的字体就是12个像素点的
11.ForeColor="Red"就是设置里面的文字的颜色是红色
事件就一个可能会用到(我是从来没用过),但是不常用OnTextChanged=""就是页面里文本框里的值发生改变后页面产生回发事件(就是你看到页面刷新了)时激发的事件,如果页面回发时文本框值没有变化就不激发该事件
文本框只是为了页面显示值用的,通常不会让它涉及到事件的

后台代码赋值取值(文本框ID为txtName):
1.取值 string temp=txtName.Text;通常我们会写成string temp=txtName.Text.Trim();就是去除首位的空格
2.赋值 txtName.Text="我的名字叫成龙";
文本框的赋值取值都是在别的控件里使用的,比如按钮等,它自己的事件没人去用的,
TEXTBOX是最基本的控件,也是最常用的控件,也是最简单的控件,实在没什么可写的
第2个回答  2010-08-26
方法比较多,你可以现在画面中隐藏几个文本框,然后点击按钮后让它显示出来;或者用js动态添加两个文本框;也可以在后台提交后添加两个文本框
第3个回答  2010-09-08
本人就会使用asp.net ,并开发过一些网站
如果你想仔细了解 可以联系我。
相似回答