要求如下: 传一 webform 的class 名称: 要在一类(.cs)里取到这class里的所有server 端控件ID 包括htmlcontrol and webcontrol .
例如 :
有一WebForm1 调用了一 Class Inc.cs现在要在Inc.cs 里取到 WebForm1 里的所有server 端控件ID ...请高手指点。在线等待 in ...
解决方案 »
- cmd.parameters.add(); 与 cmd.parameters.AddWithValue();疑问
- gridview添加的列指定位置
- 在子窗体中刷新父窗体我知道,可是在父窗体中新建一个子窗体并刷新它怎么做?
- 迷茫中~~请高手为我指路~~100分感谢~~~
- 做过邮件服务器的高手请进!!分不够再开帖。
- asp.net 现在不调试了 高手出手啊
- 哪儿可以下到比较新的.net或者c#教程和例子啊?
- 是不是不能在主域服务器上装VS.NET?谁成功过?
- 处理page_load,page_error等event
- 帮帮忙,谢谢:)
- 在ASP.NET中采用框架技术用什么方法才能在TOP框架中控制打开MAIN中的页面
- 禁止直接下载的问题
{
string ctlID=ctl.ClientID.ToString();
Response.Write(ctlID);
}
Form1
_ctl1
{
foreach( WebControl wc in page.Controls )
{
string id = wc.Id;
findcontrol( wc );
}
}
void findcontrol( WebControl wc )
{
foreach( WebControl wcC in wc.Controls )
{
string strId = wcC.Id;
findcontrol( wcC );
}
}
Inherits Inc先给你个vb的
Protected Sub SetFocusStyle()
Dim i As Integer
Dim item As New Object
Dim c As Panel For i = 0 To Page.Controls.Count - 1
For Each item In Page.Controls(i).Controls
If TypeOf item Is System.Web.UI.WebControls.TextBox Then
item.Attributes.Add("onfocus", "javascript:this.style.backgroundColor='khaki';")
item.Attributes.Add("onblur", "javascript:this.style.backgroundColor='';") End If
If TypeOf item Is System.Web.UI.WebControls.Panel Or TypeOf item Is System.Web.UI.HtmlControls.HtmlGenericControl Or TypeOf item Is System.Web.UI.HtmlControls.HtmlTableCell Then
Dim cItem As New Object
For Each cItem In item.Controls
If TypeOf cItem Is System.Web.UI.WebControls.TextBox Then
cItem.Attributes.Add("onfocus", "javascript:this.style.backgroundColor='khaki';")
cItem.Attributes.Add("onblur", "javascript:this.style.backgroundColor='';")
End If
Next
End If
Next
Next
End Sub
楼下的有没人知? foreach (Control tt in this.Controls)
{
if (tt.ID!=null)
{
foreach (Control dd in tt.Controls)
{
Response.Write( "<br>" ); Response.Write(dd.ID); }
} }
size =ccAny.Controls.Count;
for (i=0; i<size; i++)
{
string s = ccAny.Controls[i].ClientID;
}
foreach (Control tt in this.Controls)
{
if (tt.ID!=null)
{
foreach (Control dd in tt.Controls)
{
Response.Write( "<br>" ); Response.Write(dd.ID);
// 加了以下内容
if(dd 为textbox )
dd.Text="操作测试"; }
} }
页面方法调用:
System.Text.StringBuilder strBuild = new System.Text.StringBuilder();
inc.findControl(strBuild,this.Page);
this.Label1.Text = strBuild.ToString();后台类(inc.cs)的方法定义:
public static void findControl(System.Text.StringBuilder strBuild,Page page)
{
foreach(Control ctr in page.Controls)
{
findControl(strBuild,ctr);
}
}
public static void findControl(System.Text.StringBuilder strBuild,Control ctr)
{
strBuild.Append(ctr.ID).Append( "<br>");
foreach(Control ctr1 in ctr.Controls)
{
findControl(strBuild,ctr1);
}
}
//////////////////////////////////////////////
在此非常感谢楼上各位。
呆会就结贴。可惜偶没分了。不然可多给点! 后台类(inc.cs)的方法定义:
public string findControl(Page page)
{ string kk=null;
foreach(Control ctr in page.Controls[1].Controls)
{
kk=kk+ctr.ClientID.ToString()+"|";
if(ctr.GetType().ToString()=="System.Web.UI.WebControls.TextBox")
{
((TextBox)ctr).Text="搞定咯___________";
}
}return kk;
}