में प्रोग्राम.बैब.यूआई.पेज प्रोग्रामेटिक रूप से बनाना, मैं यूआरएल की सामग्री के आधार पर कस्टम पेज बनाने के लिए एएसपी.NET (3.5) "रूटिंग मॉड्यूल" कार्यक्षमता का उपयोग करने की कोशिश कर रहा हूं। इसी प्रकार केIHTTPHandler
विभिन्न लेख,: ASP.NET रूटिंग उपयोग करने के लिए कैसे वेब सर्वर पर मौजूदा पृष्ठों के लिए शाखा समझाने http://blogs.msdn.com/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx।
मैं क्या करना चाहता हूं कोड का उपयोग कर ऑन-द-फ्लाई पृष्ठ बनाना है।
मेरा पहला प्रयास इस तरह दिखता है:
public class SimpleRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string pageName = requestContext.RouteData.GetRequiredString("PageName");
Page myPage = new Page();
myPage.Response.Write("hello " + pageName);
return myPage;
}
}
लेकिन यह एक HttpException कह फेंकता है "प्रतिक्रिया इस संदर्भ में उपलब्ध नहीं है।" Response.Write कथन पर।
आगे बढ़ने के तरीके पर कोई विचार?
अद्यतन: अंत में, मैं आईएचटीपी मॉड्यूल पर आधारित एक दृष्टिकोण के साथ गया, जो कि आसान हो गया।
मैं बस आपको सुझाव दे 'BuildManager.CreateInstanceFromVirtualPath' के लिए धन्यवाद देना चाहता था। इससे मुझे उस चीज़ पर बहुत मदद मिली जिस पर मैं काम कर रहा था। –
पेज पी = (पेज) BuildManager.CreateInstanceFromVirtualPath ("~/MyPage.aspx", टाइपऑफ (पेज)); –