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

2024-12-19 23:28:42
推荐回答(5个)
回答1:

简单,在后台通过request.form["name"]就行了!前提是页面的html控件必须设置name值
request.form["name"]找的是控件的name

回答2:

textbox tv = new textbox();
tv.text = "你的值";
你用一个Panl 装载这些tv;panl.addControl(tv);
写个循环遍历这些控件 取到值;string di = tv.text.toString();
di 这个值就是你想要的值 最后在用自己的数据库添加方法 就行了

回答3:

1.创建容器
2.创建控件,并添加到容器
3.事件触发----遍历容器内的控件
4.取值,判断
5.插入

原始的服务器方式早被弃用。ajax无刷新才是正道。
1.创建容器(可以是div或者表格的tbody...)
2.jquery创建html文本形式标签,例如'"",可以继续写。
3.追加到tbody
4.遍历tbody取值,可以根据class=\"addObj\" ,$('.addObj).each遍历,$(this).val()就是那个文本的值。当然可以有其他html标签
5.同样ajax调用后台插入方法,该方法要求static ,标签[WebMethod]
无刷新完成

回答4:

首先Page_Load事件的IsPostBack部分要加入动态创建TextBox;
获取TextBox的值使用((TextBox)Page.FindControl("TextBox的id")).Text

回答5:

动态创建:
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] + " ";
}