项目中的一个页面,需要后台动态添加控件。然后保存时获取这个控件的值。
提交后,动态加载的内容会被清空,这个时候,findcontrol就失效了。控件已经被销毁了。
查了下资料,发现用request.form['控件的NAME']能获取到。因为服务器控件都会触发提交操作,保存其实就是提交到本页而已。
呵呵,新手,也是雾里看花。对本质一知半解,有大侠看到的,麻烦指点一下。
上code:
aspx页
<div> <%= TMSTR %> <asp:Button ID="btnTest" runat="server" Text="测试" onclick="btnTest_Click" /> </div>
.cs里
protected string TMSTR = ""; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitTM(); } } //初始化题目 private void InitTM() { //用来生成题目 //字符串拼接的,呵呵 //eg: TMSTR="<input type='text' id='aa' name='aa' />"; } protected void btnTest_Click(object sender, EventArgs e) { string v = Request.Form["aa"].ToString(); Response.Write("<script>alert('" + v + "')</script>"); }
这样就可以取到 name='aa'的文本框的值了。