不得不用反射来做
然后强制转换foreach(object oj in obj)
{
Type t = oj.GetType();
//直接用反射
..........
..........
或者
switch(t.Name)
{
case ........
//可以根据类型来强制转换
}
}
然后强制转换foreach(object oj in obj)
{
Type t = oj.GetType();
//直接用反射
..........
..........
或者
switch(t.Name)
{
case ........
//可以根据类型来强制转换
}
}
(yourtype)textbox1.yourprop
if (tb != null) {
//取TextBox的属性
}
DropDownList ddl = obj[0] as DropDownList;
if (ddl != null) {
//取DropDownList的属性
}
TextBox tb = obj[0] as TextBox;
好像不对啊
1.首先要遍历object[]中的所有内容,根据内容的不同强制类型转换一下,方法如下(偶只贴了其中一种类型的,其他的还要自己再加,偶没有找到自动遍历所有对象的方法呢)
//改变指定WEBFORM中的全部TEXTBOX的TEXT值***************************************************
public void FormatWebFormTextBoxOfText(System.Web.UI.Page page,string FormatValue)
{
int i,j;
for (i = 0; i < page.Controls.Count; i++)
{
if (page.Controls[i].HasControls())
{
for (j = 0; j < page.Controls[i].Controls.Count; j++)
{
if (page.Controls[i].Controls[j].GetType().Namespace == "System.Web.UI.WebControls")
{
if(page.Controls[i].Controls[j].GetType().Name=="TextBox")
{
if (FormatValue == null)
{
((TextBox)(page.Controls[i].Controls[j])).Text = "";
}
else
{
((TextBox)(page.Controls[i].Controls[j])).Text = FormatValue;
}
}
}
}
}
}
}
//*****************************************************************************************
2.需要做反射,方法如下
/*
System.Type tp = this.TextBox1.GetType();
foreach(System.Reflection.PropertyInfo pi in tp.GetProperties())
{
this.globalmessa.Text += pi.ToString();
}
*/
这个方法实现LIST出所TEXTBOX的属性,以上两步需要楼主自己再结合一下,偶没有时间整理了。
3.就是方法的调用,这里还没有能执行动态调用的办法(偶还没有找到),需要你根据自己应用再做具体分析了。不知道偶的回答对楼主有没有帮助