asp.net中动态创建了一组textbox控件,由于控件动态,如何在后台写代码让textbox的值存入数据库?

 我来答
maoxiaoling959
2011-09-27 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:78
采纳率:0%
帮助的人:96.5万
展开全部
简单,在后台通过request.form["name"]就行了!前提是页面的html控件必须设置name值
request.form["name"]找的是控件的name
追问
具体怎么做啊,比方说我定义了一个string,将这个控件的text赋值给这个string,能给个具体的例子吗
追答
前台
点击保存后,在事件里写 string text = request.form["text"].toString();
这样就好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极岸猫5013
2011-09-27
知道答主
回答量:5
采纳率:0%
帮助的人:4.1万
展开全部
textbox tv = new textbox();
tv.text = "你的值";
你用一个Panl 装载这些tv;panl.addControl(tv);
写个循环遍历这些控件 取到值;string di = tv.text.toString();
di 这个值就是你想要的值 最后在用自己的数据库添加方法 就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cfasus
2011-09-27 · TA获得超过705个赞
知道小有建树答主
回答量:876
采纳率:33%
帮助的人:381万
展开全部
1.创建容器
2.创建控件,并添加到容器
3.事件触发----遍历容器内的控件
4.取值,判断
5.插入

原始的服务器方式早被弃用。ajax无刷新才是正道。
1.创建容器(可以是div或者表格的tbody...)
2.jquery创建html文本形式标签,例如'"<input type=\"text\" class=\"addObj\" />",可以继续写。
3.追加到tbody
4.遍历tbody取值,可以根据class=\"addObj\" ,$('.addObj).each遍历,$(this).val()就是那个文本的值。当然可以有其他html标签
5.同样ajax调用后台插入方法,该方法要求static ,标签[WebMethod]
无刷新完成
追问
要将值取出来运用到数据库的操作中,还是后台写比较好吧
追答
ajax无刷新
这个看你个人或者客户需求了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
资料库分享
2011-09-27 · 超过25用户采纳过TA的回答
知道答主
回答量:95
采纳率:50%
帮助的人:51.9万
展开全部
首先Page_Load事件的IsPostBack部分要加入动态创建TextBox;
获取TextBox的值使用((TextBox)Page.FindControl("TextBox的id")).Text
追问
生成页面后textbox变成input类型了,找不到了..........
追答
不是动态生成的,普通的TextBox生成页面后也会变成input。
前台代码:

后台代码:
protected void Page_Load(object sender, EventArgs e)
{ //下面3行代码不能放到! IsPostBack里面。
TextBox txt = new TextBox();
txt.ID = "test";
this.PlaceHolder1.Controls.Add(txt);
}
protected void Button2_Click(object sender, EventArgs e)
{
TextBox txt = (TextBox)this.PlaceHolder1.FindControl("test");
Response.Write(txt.Text);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hero_chinawind
2011-09-27 · TA获得超过313个赞
知道小有建树答主
回答量:611
采纳率:0%
帮助的人:355万
展开全部
动态创建:
case "CD":
MyWebTextBox mwtb = new MyWebTextBox();
mwtb.InputType = TextType.date;
mwtb.IsDisplayTime = false;
mwtb.CssClass = "editbox";
mwtb.ID = dt.Rows[ICell]["CT_COL_SCRIPT"].ToString() + "^" + dt.Rows[ICell]["CT_COL_OPERATOR"].ToString() + "^" + dt.Rows[ICell]["CT_COL_RELATION"].ToString();
NewC2.Controls.Add(mwtb);
break;
获得控件值:
StrValue = ((TextBox)TableView.Rows[i].Cells[j].Controls[0]).Text.ToString();
if (!string.IsNullOrEmpty(StrValue))
{
StrSql += StrID[0] + " " + StrID[1] + " '" + '%' + StrValue + '%' + "' " + StrID[2] + " ";
}
else
{
StrSql += StrID[0] + " like '%' " + StrID[2] + " ";
}
追问
老大,你是不是直接从写的一大段代码复制过来的啊,我只是想知道在后台如何找到动态生成控件的值
追答
((TextBox)TableView.Rows[i].Cells[j].Controls[0]).Text.ToString();
这个就是获得控件的值啊......
我是怕你找不到原控件如何生成的,才把这个脚本放上去的~

说白了就是你找到你原来的控件,取text就可以了
我是动态生成textbox控件,放在table中,然后从table中找到控件,取出text内容....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式