日期:2014-05-18  浏览次数:20455 次

●■■■■■■■■■■■都来看看___新手问题!!!
1.当第二次选择日期时。1和2处的结果不一样。1的结果输出为什么不能改变??
2.怎么获取这个新增的textbox的ID啊??
protected   void   Page_Load(object   sender,EventArgs   e)
{
string   a=this.cr.SelectedDate.ToString();
TextBox   t=new   TextBox();
t.ID= "ll ";
t.Text=a;               //1
this.pl.Controls.Add(t);
Response.Write(a);           //2
}

------解决方案--------------------
1.Page_Load页面重新加载了一次所以有可能导致this.cr.SelectedDate.ToString()值为加载时的值,而不是你选择的值

2.获取这个新增的textbox的ID
Response.Write( " <script> alert(新的ID为: ' "+t.ID.ToString()+ " ') </script> ");
------解决方案--------------------
你的代码应该放在一个按钮的点击事件里做,而不是放在Page_Load里,这样每次回传Page_Load都会做一次的
------解决方案--------------------
this.ll.Text
======
1。
只能说你是如此的 NB, 以至于不屑于跟我们将问题描述清楚, 我开始怀疑我的理解能力了

2。
为什么你往 .aspx 托一个 <asp:textbox id=TextBox1 ...
然后可以在 .aspx.cs 通过 string txt = TextBox1.Text; 访问此 TextBox
那是因为,VS 自动帮你在对应的隐藏类(部分类)中生成了一个叫 TextBox1 的TextBox实例!!!

你通过手动 new 出来的当然不能 this.ll.Text 访问了,基本的程序设计常识。

3。
如何可以动态的访问此TextBox实例?

TextBox MyTextBox = this.pl.FindControl( "ll ") as TextBox; // ll 为 TextBox.ID
if(MyTextBox != null) {
string txt = MyTextBox.Text;
// ...
}

4。
自己功夫不到家,还浮躁....