2011-02-28 15 views

回答

2

試試這個代碼:

 System.Diagnostics.StackFrame f = new System.Diagnostics.StackFrame(); 
     Type t = f.GetMethod().DeclaringType; 
     string name = t.FullName; 
     string classname = name.Substring((name.IndexOf('.')+1)); 

this link

+0

非常好的答案! – Student 2011-03-01 00:07:48

0

在這裏,您可以繼續。這應該告訴你請求當前頁面的完整網址。

Request.Urlreferrer 
+0

他似乎有某種類型的helper方法,他想知道什麼頁面調用的方法。無論是他還是他完全解釋錯了O_o – 2011-02-28 23:20:29

+0

是的。我正在盡力破譯這個問題。特別是考慮到類不實際調用方法。對象的方法做。 – JohnFx 2011-02-28 23:22:32

3

Yuck。

好吧,無論如何,

new StackTrace().GetFrame(1).GetMethod().DeclaringType 

這會給你的類型。

這是真的需要嗎?看起來像意大利麪條解決方案。

+1

你是對的我有一種輔助方法,我想知道什麼頁面稱爲方法。 – Student 2011-02-28 23:24:45

1

爲什麼不使用接口?
這樣您也可以限制可以使用該方法的頁面。

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!"; 
} 

上面是一個簡單的例子。我不會使用所有的字符串。你的解決方案將不得不取決於你想要對頁面進行的調用。

相關問題