加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何将当前的asp.net usercontrols类名转换为c#上的字符串?

发布时间:2020-12-16 09:18:28 所属栏目:asp.Net 来源:网络整理
导读:所以我尝试了GetType(),但由于某种原因,它确实包含了命名空间…… C#没有指定其名称的类的属性吗? 例如: public class Parent : System.Web.UI.UserControl { public someFunction(){ Child child = new Child(); Console.WriteLine(child.ThePropertyThat
所以我尝试了GetType(),但由于某种原因,它确实包含了命名空间……
C#没有指定其名称的类的属性吗?
例如:

public class Parent : System.Web.UI.UserControl {
    public someFunction(){
        Child child = new Child();
        Console.WriteLine(child.ThePropertyThatContainsTheName);
    }
}

public class Child : Parent {
}

我曾尝试使用名称为硬编码的字符串属性创建Child,但前提是我们可以找到更好的解决方法…也许是反射或表达式……

在此先感谢=)

编辑:顺便说一下我正在处理用户控件…

解决方法

如果您使用的是ASP.NET Web应用程序项目,则通常会使用代码隐藏模型.

ASP.NET将从您的aspx / ascx文件动态生成和编译一个类,该文件使用您在代码隐藏文件中定义的类作为基类.

this.GetType().Name和this.GetType().FullName将返回ASP.NET生成的自动生成的类的名称.这个自动生成的类将子类化您在代码隐藏文件中定义的UserControl / WebPage类(在ascx文件的<%@ Control ...>标记中的Inherits关键字/<%@ Page ... >你的aspx文件的标签).

如果您想要代码隐藏类的名称,请使用:

this.GetType().BaseType.Name或this.GetType().BaseType.FullName

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读