求页面名字
现在有个类BaseSh有a页面继承它(a:BaseSh)
有b页面继承它(b:BaseSh)
有c页面继承它(c:BaseSh)
有d页面继承它(d:BaseSh)
还有很多
在BaseSh中如何去得加载的时候是哪个页面继承的?
想做成
string name=要取得页面名称
if(name=='b')
{
....
}
else if(name='c')
{
..
}
else if(name='a')
{
..
}
else
{
...
}
--------------------编程问答-------------------- 页面名字是如:a.aspx --------------------编程问答-------------------- 页面名称不重要
你可以修改后台类名称 --------------------编程问答-------------------- 就要这个名字你说不中要!!!!
高手来啊 --------------------编程问答-------------------- 子类可获取父类名称GetType().BaseType
在父类获取子类名称不通 --------------------编程问答-------------------- GetType().BaseType
--------------------编程问答-------------------- 不懂楼主的意思,帮顶一下。
string name=typeof(要取得页面名称); --------------------编程问答-------------------- 其实这个还和设计有点关系,你在写父类的时候应该是不知道子类的个数,或者子类的名称的,所以不能根据什么判断
下面的代码希望对你有帮助
--------------------编程问答-------------------- 给个全局变量保存他的子类所在的页面名称行不 --------------------编程问答-------------------- 不知道 你是不是想做 权限管理。
class Program
{
static void Main(string[] args)
{
var subTypeQuery = from t in Assembly.GetExecutingAssembly().GetTypes()
where IsSubClassOf(t, typeof(Base))
select t;
foreach (var type in subTypeQuery)
{
Console.WriteLine(type);
}
}
static bool IsSubClassOf(Type type, Type baseType)
{
var b = type.BaseType;
while (b!=null)
{
if (b.Equals(baseType))
{
return true;
}
b = b.BaseType;
}
return false;
}
}
public class Base { }
public class Sub1 : Base { }
public class Sub2 : Base { }
public class Sub3 : Sub1 { }
-----------------------
1. 在每个页面 获取当前url:string urlstr= HttpContext.Current.Request.Url;
2. 然后你 截取字符串...
------------
3.在一个 公共的类库中 写一个方法:
public static void GetPage(string pagename)
{
switch(...)
case ... break;
} --------------------编程问答--------------------
十分認同 --------------------编程问答--------------------
--------------------编程问答-------------------- 但 随着你页面的增加,你 case 的就要添加。
--------------------编程问答-------------------- 反射?? --------------------编程问答--------------------
同意这种说法,关注更优效的方法 --------------------编程问答-------------------- string name=要取得页面名称
if(name=='b')
{
....
}
else if(name='c')
{
..
}
else if(name='a')
{
..
}
else
{
...
}
换一下思路嘛,把这段代码做成函数,在子类里调用,把子类的name传进来就可以了
补充:.NET技术 , ASP.NET