تحميل ASP.NET 2.0 صفحة aspx باستخدام النظام.التفكير ؟
-
22-08-2019 - |
سؤال
هل يمكنني تحميل تقف وحدها aspx صفحة أخرى تقف وحدها صفحة aspx باستخدام النظام.التفكير ؟
أنا باستخدام ASP.NET 2.0 موقع المشروع النموذجي.
المحلول
BuildManager.CreateInstanceFromVirtualPath أ >. استخدام العينة:
Page p = BuildManager.CreateInstanceFromVirtualPath("~/Default.aspx", typeof(Page))
وهذا يجيب على هذا السؤال المحدد، على الرغم من، استنادا إلى التعليقات الخاصة بك، وأنا لست متأكدا من أن هذا هو ما تريده حقا.
نصائح أخرى
لا أعرف عن القيام بذلك باستخدام التأمل، والذي قد يكون جيدا ممكن، ولكن يمكنك التقاط إخراج صفحة aspx أو آسيا والمحيط الهادئ لكاتب السلسلة باستخدام HttpContext.Server.Execute ().
ولقد استخدمت هذه لتقديم بعض قوالب البريد الإلكتروني معقدة، ولكن لا أعرف إذا كان هذا هو تماما ما كنت بعد.
إذا كان لديك ورثت فئة من واجهة المستخدم.صفحة الكود خلف الصفحة ، يمكنك استخدام هذه الطريقة:مجموعة السياق الحالي http السياق
Dim hndlr As IHttpHandler = PageParser.GetCompiledPageInstance("~/mypage.aspx", context.Server.MapPath("~/mypage.aspx"), CONTEXT)
Dim ipage As DerivedPage = DirectCast(hndlr, DerivedPage)
ipage.YourProperty= "Hello"
ipage.DoIt()
لذلك يمكن أن يكون مكتوب قوية القيم ، إذا كان عليك تغيير علامة الطريقة عليك أن تكون حذر.
وI تنفيذ الحل التالي وهذا ما أريد بالضبط القيام به:
using System.Reflection;
using System.Web.Compilation;
Page p = BuildManager.CreateInstanceFromVirtualPath("~/mypage.aspx", typeof(Page)) as Page;
MethodInfo MyMethod = p.GetType().GetMethod("MyMethod");
MyMethod.Invoke(p, null);