to 2002pine(我学习,我存在) : 兄弟,你是不是用过,如果确实可以实现就太好了.我的test代码是这样的 Td15是一个声明过的存在的table的td. Dim TdTemp As New System.Web.UI.WebControls.TextBox() TdTemp.Attributes.Add("id", "yiyi") TdTemp.Attributes.Add("runat", "server") Td15.Controls.Add(TdTemp) Dim valTemp As New System.Web.UI.WebControls.RangeValidator() valTemp.Type = ValidationDataType.Integer valTemp.MaximumValue = 10000 valTemp.MinimumValue = 1 valTemp.ControlToValidate = "yiyi" '这里错了,找不到yiyi这个控件 Td15.Controls.Add(valTemp)
to dragontt(龙人) : textbox1是.vb代码生成的,textbox是在aspx文件中写的控件.虽然生成的结果相同,但是因为我的RangeValidator希望获得textbox1,而RangeValidator本身是在textbox1的同一个.vb文件中生成,所以无法找到该控件将id赋予ControlToValidate.而textbox因为界面已经存在,RangeValidator是可以找到它的.到底能不能在.vb里生成textbox1,然后在textbox1旁边同样用.vb代码加上一个RangeValidator呢??
valTemp.ControlToValidate = "textbox1"
它找不到textbox1,textbox1确实和本身界面的textbox是不同的,它是在数据流中的.
不知道该怎样解决.
如果RangeValidator能动态增加,但是被其ControlToValidate的控件不能动态增加的话,那动态增加RangeValidator的功能不是就只能针对已经存在于界面的控件吗?
大虾们救救我!!!
兄弟,你是不是用过,如果确实可以实现就太好了.我的test代码是这样的
Td15是一个声明过的存在的table的td. Dim TdTemp As New System.Web.UI.WebControls.TextBox()
TdTemp.Attributes.Add("id", "yiyi")
TdTemp.Attributes.Add("runat", "server")
Td15.Controls.Add(TdTemp) Dim valTemp As New System.Web.UI.WebControls.RangeValidator()
valTemp.Type = ValidationDataType.Integer
valTemp.MaximumValue = 10000
valTemp.MinimumValue = 1
valTemp.ControlToValidate = "yiyi" '这里错了,找不到yiyi这个控件
Td15.Controls.Add(valTemp)
应该是你的处理上有点问题TextBox tb = new TextBox();
tb.ID = "t1";
tb.Text = "32"; RangeValidator rv = new RangeValidator();
rv.ControlToValidate = "t1";
rv.MaximumValue = "20";
rv.MinimumValue = "10";
rv.ErrorMessage = "hello";
Panel1.Controls.Add( tb );
Panel1.Controls.Add( rv );
TdTemp.Attributes.Add("runat", "server")-->TdTemp.ID = "yiyi"
textbox1是.vb代码生成的,textbox是在aspx文件中写的控件.虽然生成的结果相同,但是因为我的RangeValidator希望获得textbox1,而RangeValidator本身是在textbox1的同一个.vb文件中生成,所以无法找到该控件将id赋予ControlToValidate.而textbox因为界面已经存在,RangeValidator是可以找到它的.到底能不能在.vb里生成textbox1,然后在textbox1旁边同样用.vb代码加上一个RangeValidator呢??
TdTemp.Attributes.Add("id", "yiyi")
TdTemp.Attributes.Add("runat", "server")-->TdTemp.ID = "yiyi"这两种不是同一个咚咚呢?
当作html标记中的一对key=value来处理
相当于客户端的表示而TdTemp.ID = "yiyi"才是服务器控件的ID声明
你写成TdTemp.Attributes.Add的确在html中可以看到ID
不过,对服务器来说,这个控件是不存在的