asp.net中的request.form获取不到控件的值

在使用了模板页的页面动态生成网页代码是:stringstrCtrl="<asp:TextBoxID=\"tbAccount\"runat=\"server\"style=... 在使用了模板页的页面动态生成网页代码是:
string strCtrl="<asp:TextBox ID=\"tbAccount\" runat=\"server\" style=\"text-align: left\"></asp:TextBox>"
Control ctrl = Page.ParseControl(strCtrl);
pholderRegItem.Controls.Add(ctrl);

数据提交后获取ID代码是:
string Account = Request.Form["tbAccount"];

请问为什么我获取不到他的tbAccount控件的值?
刚看了下from中AllKey中的值,发现有一项的值为:"ctl00$Body$tbAccount",这就说明这个TextBox的ID发生了改变,不是说Request.Form是获取服务器的控件不?
展开
 我来答
正怒月神
2012-04-10 · TA获得超过1157个赞
知道小有建树答主
回答量:710
采纳率:100%
帮助的人:499万
展开全部
我做了下实例,你看看对比一下
前台 2个button 和 一个 panel
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 3; i++)
{
TextBox t = new TextBox();
t.ID = string.Format("newTextBox{0}", i);
Panel1.Controls.Add(t);
}
}

}
protected void Button2_Click(object sender, EventArgs e)
{
string str = Request.Form["newTextBox1"];
Response.Write("<script>alert('"+str+"')</script>");
}

我没有采用你的字符串形式来 生成控件,我是new出来后放入panel容器的
希望对你有帮助
追问
个人认为采用字符串形式来生成控件相对而言可以简单点,因为我可以先用web编辑器生成动态页面的效果图,然后再组织到字符串变量,不过也很感谢您让我了解到您这方面的知识,谢谢
追答
没事,反正只要能实现就行
祝你成功,哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jacky_xue
2012-04-10 · TA获得超过114个赞
知道小有建树答主
回答量:228
采纳率:100%
帮助的人:139万
展开全部
request.form的方法请求的内容应该放在页面的form内,如果在form外或者是无form标签,那么很抱歉,你是读不到的!
更多追问追答
追问
有他解决办法不?谢谢
追答
用脚本传值吧,jquery的查找器简便些,没有用过可以直接用js,利用name来查找,采用url传参的方式,这样request.queryString()就能获取到!我一般在处理动态生成的控件传值上,一般都用脚本来传值提交!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友88ca838
2012-04-10 · TA获得超过503个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:493万
展开全部
TextBox 加上 name="tbAccount"
追问
不好意思,加了你的代码页获取不到,之前我直接用index获取到了它的值,后面加了你的代码忘了改,谢谢你的帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式