int i=1;
string name="checkbox"+i;
如何知晓name后,直接转换为checkbox控件?

解决方案 »

  1.   

    用反射。
    /// <summary>
    /// 执行指定的方法
    /// </summary>
    /// <param name="FilePath">方法所在的文件路径</param>
    /// <param name="ClassName">方法所在的命名空间及类名称</param>
    /// <param name="FunctionName">方法名称</param>
    /// <param name="Para">参数集合</param>
    public static void RunReflection(string FilePath, string ClassName, string FunctionName, object[] Para)
    {
    try
    {
    System.Reflection.Assembly A = Assembly.LoadFrom(FilePath);
    Type t = A.GetType(ClassName);
    Console.WriteLine(ClassName);
    object obj = Assembly.GetAssembly(t).CreateInstance(ClassName);//创建实例 MethodInfo method = t.GetMethod(FunctionName);//提取方法信息
    method.Invoke(obj, Para);//调用方法
    }
    catch(Exception e)
    {
    throw new Exception("执行失败!" + "\n" + e.Message);
    }
    }
      

  2.   

    用C#:control.FindControl(name)可以得到, 但是control必须是这个checkbox的直接父控件
    用javascript:document.getElementById(name)