我有一個類中有一個方法,我有一些調用此方法的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. 是否有可能在.NET
- 8. Java中的類可以確定它是否是修飾符?
- 9. 是否有可能在.NET中具有參數存儲過程的功能?
- 10. .net可以知道客戶端是否可以通過HTTP進行SNI功能?
- 11. .NET中是否有任何一種「ReferenceComparer」?
- 12. 是否有可能與它的數據創建一個ASP .NET核心遷移?
- 13. 是否可以確定函數是哪種類的方法?
- 14. 確定html5地理定位功能是否可用,以及它是否知道你在哪裏?
- 15. .NET GUID - 它是循環還是通過某種算法生成?
- 16. 是否可以在.net中創建一個通用約束類型的集合?
- 17. Razor是否需要MVC3,還是隻能在.NET中使用它?
- 18. 在Visual Studio 2008中,是否有一種簡單的方法來確定哪個類是在類中定義的?
- 19. .NET Framework 3.5中有哪些新功能?
- 20. .net中是否可以通過類字符串名稱聲明變量,但沒有直接的類名?
- 21. 有沒有一種方法可以確定客戶端是否在.NET中接收到HTTP響應?
- 22. 是否可以確定通過哪個對象訪問對象?
- 23. 是否可以引用指定多個強名稱的.NET dll
- 24. 是否有可能確定.NET程序集編寫的語言?
- 25. 在.net 4中的一個功能
- 26. 是否可以在.Net程序中檢測到它正在調試器中停止/逐步通過?
- 27. 在PHP中創建一個接口,它可以指定一個類型來確定使用哪個類
- 28. 是否有可能編寫一個以.NET 4.0爲目標的.NET庫,但如果由.NET 4.5應用程序調用則使用.NET 4.5功能?
- 29. 是否可以確定哪個進程啓動我的.Net應用程序?
- 30. 是否有可能通過重寫它來將訪問器添加到.NET中的屬性?
非常好的答案! – Student 2011-03-01 00:07:48