我有一个类中有一个方法,我有一些调用此方法的aspx页面。现在我想知道在这个方法中哪个页面调用它。
或
在.NET中是否有一种功能,通过该功能,一种方法可以确定哪个类具有这种功能在.NET中是否有.NET中的一种功能,通过它可以确定哪个类称为它
回答
试试这个代码:
System.Diagnostics.StackFrame f = new System.Diagnostics.StackFrame();
Type t = f.GetMethod().DeclaringType;
string name = t.FullName;
string classname = name.Substring((name.IndexOf('.')+1));
在这里,您可以继续。这应该告诉你请求当前页面的完整网址。
Request.Urlreferrer
他似乎有某种类型的helper方法,他想知道什么页面调用的方法。无论是他还是他完全解释错了O_o – 2011-02-28 23:20:29
是的。我正在尽力破译这个问题。特别是考虑到类不实际调用方法。对象的方法做。 – JohnFx 2011-02-28 23:22:32
Yuck。
好吧,无论如何,
new StackTrace().GetFrame(1).GetMethod().DeclaringType
这会给你的类型。
这是真的需要吗?看起来像意大利面条解决方案。
你是对的我有一种辅助方法,我想知道什么页面称为方法。 – Student 2011-02-28 23:24:45
为什么不使用接口?
这样您也可以限制可以使用该方法的页面。
interface INamedPage {
string Name { get; set; }
}
这是你的页面:
public PageOne: Page, INamedPage {
...
public string Name {
get { return "Page One"; }
}
...
}
正被调用的方法:
public void WhoIsIt (INamedPage page) {
return "Oh it was " + page.Name + " again!";
}
上面是一个简单的例子。我不会使用所有的字符串。你的解决方案将不得不取决于你想要对页面进行的调用。
- 1. 有什么方法可以确定它是否是测试(.NET)?
- 2. C#类类型 - 如何确定它是否是一个标准的.NET Framework类
- 3. 是否有可能为.NET中的类定义别名?
- 4. 是否有可能在.NET中动态生成一个类?
- 5. 是否有可能确定.NET程序集事后写入哪种语言?
- 6. core.async是否可以通过序列实现它的功能?
- 7. Java中的类可以确定它是否是修饰符?
- 8. 是否有可能在.NET中具有参数存储过程的功能?
- 9. 是否有可能在.NET
- 10. .NET中是否有任何一种“ReferenceComparer”?
- 11. 是否可以确定函数是哪种类的方法?
- 12. 是否有可能与它的数据创建一个ASP .NET核心迁移?
- 13. 是否可以在.net中创建一个通用约束类型的集合?
- 14. 在Visual Studio 2008中,是否有一种简单的方法来确定哪个类是在类中定义的?
- 15. .NET Framework 3.5中有哪些新功能?
- 16. .net中是否可以通过类字符串名称声明变量,但没有直接的类名?
- 17. 有没有一种方法可以确定客户端是否在.NET中接收到HTTP响应?
- 18. 在PHP中创建一个接口,它可以指定一个类型来确定使用哪个类
- 19. .NET中是否有构建线程绑定变量的功能?
- 20. 是否可以在.Net程序中检测到它正在调试器中停止/逐步通过?
- 21. 是否有可能确定.NET程序集编写的语言?
- 22. 在.net 4中的一个功能
- 23. 是否有可能通过重写它来将访问器添加到.NET中的属性?
- 24. 是否有另一种方式,通过它的索引
- 25. 是否可以确定哪个进程启动我的.Net应用程序?
- 26. 是否有可能编写一个以.NET 4.0为目标的.NET库,但如果由.NET 4.5应用程序调用则使用.NET 4.5功能?
- 27. 是否有可能将.NET类转换为COM库类?
- 28. .NET 3.5中有可能指定一个枚举类型吗?
- 29. 是否有可能在.net中创建自定义字节
- 30. .NET中是否有可序列化的通用键/值对类?
非常好的答案! – Student 2011-03-01 00:07:48