今天在網上閒逛,無意見發現一個代碼中使用反射調用.Net框架中的非Public方法,覺得這個思路很好. 我怎麼就沒有想到呢?前兩個還在想怎樣調用Page類中的Internal方法DecryptString來解一個隱藏 域"__PREVIOUSPAGE"的值,看判斷自己的一個分析是否正確.馬上動手代碼如下,^_^問題解決了.
protected void Button2_Click(object sender, EventArgs e) { //Server.Transfer("default2.aspx"); Type t = typeof(System.Web.UI.Page); object[] args = new object[] { "Htr9cH0-sPEsru8HSXo70y6PnBg8nwjl0" }; BindingFlags bindingFlags = BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod | BindingFlags.Instance; string s=(string) t.InvokeMember("DecryptString", bindingFlags, null, this, args); Response.Write("</br>"+s+"</br>"); }