asp.net 动态添加textbox,并且获取值
各位高手好:
请大家帮帮忙,目的是:
同一个asp.net web页面,根据(textbox)里输入的数字,例如5,动态生成5行5列输入框
5列对应的是数据库的字段,然后完成提交给数据库,弄了3天了请各位大侠帮忙,谢谢!
------解决方案--------------------调用时每个TextBox 取相同的name
如:
var sjs ='';
for(i=0;i<5;i++)
{
sjs += '<intput id=t'+i+' name='t1' type='text' value='1' />'
}
document.all.div1.innerHTML = sjs; //动态生成
前台用
至于后台:
我就Request.Params["t1"].Value 接收过,
获取的值是"1,2,3...."
你分割一下字符串就得到了
------解决方案--------------------貌似有点麻烦
我没做过哦
等有时间去试试
------解决方案--------------------你的意思是生成5行5列后,你在这个表中输入数据,后在数据库创建一个一样的表?
------解决方案--------------------没明白需求
------解决方案--------------------可以在你想要显示生成TextBox的地方加个占位控件
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
CS:
C# code
int nNum = 5;
for (int i = 0; i < nNum; i++)
{
TextBox tx = new TextBox();
tx.ID = "txt" + i;
this.PlaceHolder1.Controls.Add(tx);
}
------解决方案--------------------
给你个列子自己看看吧,网上搜得到的,动态添加
JScript code
function addNewGoods(){
intTextIndex = intTextIndex + 1 ;
document.getElementById("<% =hidSum.ClientID %>").innerText = intTextIndex;
var textInput="<table class='full4' cellspacing='0' borderColorDark='white' borderColorLight='#a1b5c0' cellpadding='1' border='1' width='100%'><tr>"
+"<td align='left'>姓名</td><td><input type='text' CssClass='tbTextbox' size='20' name='TextName" + intTextIndex + "' id='Text" + intTextIndex + "' /></td>"
+"<td align='left'>工作单位</td><td><input type='text' CssClass='tbTextbox' size='20' name='TextMent" + intTextIndex + "' id='TextNum" + intTextIndex + "' /></td>"
+"<td align='left'>职务</td><td><input type='text' CssClass='tbTextbox' size='20' name='TextType" + intTextIndex + "' id='TextType" + intTextIndex + "' /></td></tr></table>"
document.getElementById('FileList').insertAdjacentHTML("beforeEnd",textInput);
}
------解决方案--------------------
------解决方案--------------------
能生成输入框但读不到数据吗?你是不要触发一个时间(比如说按钮)之后再提交到数据库,输入框中的数值要填上之后在提交?
可以用if(!IsPostback)啊。
不好意思,不是很理解你的意思。
------解决方案--------------------
GridView
建五个模板列
绑定到 new int[int.Parse(Textbox1.Text)]
------解决方案--------------------
我没用过我就Request.Params["t1"].Value,所以不知道在后台取值是怎么取得,不过我按照我以前做过的给你个思路