今天在网上闲逛,无意见发现一个代码中使用反射调用.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>");
}
{
//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>");
}