●■■■■■■■■■■■都来看看___新手问题!!!

leo963258 2007-07-06 08:18:23
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
}
...全文
230 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
windinwing 2007-07-07
  • 打赏
  • 举报
回复


ID 不能设置的 
不过可以这样
TextBox t=new TextBox();
string id=t.ClientID; //调用这个ID  然后用js操作。。

chuxue1342 2007-07-07
  • 打赏
  • 举报
回复
强!!
leo963258 2007-07-07
  • 打赏
  • 举报
回复
我要是的 .aspx 运行机制原理。
to Jinglecat(晓风残月)
靠,我要是懂,还问你们搞毛,考你智商??

to sp1234(asp.net门槛低容易被骗子利用)
谢谢,算是明白了一点。

我都说了新手入门。
MD这么多人,是不是草包一看就知道。
Jinglecat 2007-07-06
  • 打赏
  • 举报
回复
学生气足嘛,好现学现卖、酷的东西
========
呵呵,看到 sp1234 也幽默了一把,


算了,看看 Scott 这篇文章吧,好好学吧,何必一副霸汽十足的样子

创建动态数据输入用户界面
http://www.microsoft.com/china/msdn/library/webservices/asp.net/dnasppDynamicUI.mspx?mfr=true
  • 打赏
  • 举报
回复
学生气足嘛,好现学现卖、酷的东西。

给你解释一个东西,就是为什么你的“t”显示的东西总是一样的:

实际上你应该给t先设置ID属性,不然,实际上它的值应该是不确定的,甚至会造成程序垮掉(asp.net会出现“页面控件架构改变,ViewState异常”之类的)。你的程序实在太简单了,或者说动态的东西太少了,所以你看不到(但是如果我是你的PM我知道你写的程序将来多么危险)。

不过即使设置ID,你说的问题依然会出现。原因是:这些动态控件在page_load结束后才会被回填ViewState。就是这个简单原因,这是控件原理。

如果你接触asp.net已经一年,尽量抛开那些简单的入门书,看一些深入的技术分析资料。
vicqqq 2007-07-06
  • 打赏
  • 举报
回复
jf
Jinglecat 2007-07-06
  • 打赏
  • 举报
回复
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。
自己功夫不到家,还浮躁....

xeppp 2007-07-06
  • 打赏
  • 举报
回复
执行的时机 不一样 你可以调 试一下 当每次回发时 都会调一次PageLoad
(如果用IsPostBack就不一样了)
执行PageLoad后 会调 用 触发事件 你会发现 当触发事件执行完后 数据变了

这时再输出
leo963258 2007-07-06
  • 打赏
  • 举报
回复
this.pl.ll.Text 也没用,未定义ll
leo963258 2007-07-06
  • 打赏
  • 举报
回复
to
我要是服务器端获取ID,你给脚本ID屁用啊
=============
请你自己检讨下, 你问题说清楚了迈?
你都会

TextBox t=new TextBox();
t.ID="ll"; // 靠,这里不是服务器的 ID 迈?

这个ID 获取 不到。
this.ll.Text
这样报错!!!!!!!!拜托你们测试下啊。。。哥哥们!!pl是一个Panel
Jinglecat 2007-07-06
  • 打赏
  • 举报
回复
我要是服务器端获取ID,你给脚本ID屁用啊
=============
请你自己检讨下, 你问题说清楚了迈?
你都会

TextBox t=new TextBox();
t.ID="ll"; // 靠,这里不是服务器的 ID 迈?

银耳环 2007-07-06
  • 打赏
  • 举报
回复
http://100.tongbuedu.com/netschool/BBS/ShowPost.asp?ThreadID=1009
leo963258 2007-07-06
  • 打赏
  • 举报
回复

1处和2处都是在Page_Load里,不存在说回传啊,能获取到正确的时间,但是问题是,t.Text=a,和Response.Write(a);结果不一样。t.Text永远是第一次的值.而Response.Write(a);的值会根据选择而改变.他们都是Page_Load输出的.值不一样.这是什么原因呢?
leo963258 2007-07-06
  • 打赏
  • 举报
回复
我想知道,为什么?
TextBox 的值永远是那一个,而Response.Write(a)输出的会更者选择不同时间而改变.为什么t.Text=a不变呢?
都在Page_Load里面啊.都是一个变量!!!!

amandag 2007-07-06
  • 打赏
  • 举报
回复
你的代码应该放在一个按钮的点击事件里做,而不是放在Page_Load里,这样每次回传Page_Load都会做一次的
leo963258 2007-07-06
  • 打赏
  • 举报
回复
拜托大哥们,不懂就不要瞎说!!!
to whatwherewhyhow()
1.怎么this.cr.SelectedDate.ToString()的值有两处,有1处没有变,2处变了的..好不。

2.我要是服务器端获取ID,你给脚本ID屁用啊
whatwherewhyhow 2007-07-06
  • 打赏
  • 举报
回复
1.Page_Load页面重新加载了一次所以有可能导致this.cr.SelectedDate.ToString()值为加载时的值,而不是你选择的值

2.获取这个新增的textbox的ID
Response.Write("<script>alert(新的ID为:'"+t.ID.ToString()+"')</script>");

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧