Tôi đang cố sử dụng chức năng ASP.NET (3.5) "Routing Module" để tạo các trang tùy chỉnh dựa trên nội dung của URL.Tạo một System.Web.UI.Page lập trình trong IHTTPHandler
Các bài viết khác nhau, chẳng hạn như bài viết này: http://blogs.msdn.com/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx giải thích cách sử dụng Định tuyến ASP.NET để phân nhánh tới các trang hiện có trên máy chủ web.
Điều tôi muốn làm là tạo trang trực tuyến bằng mã.
nỗ lực đầu tiên của tôi trông như thế này:
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;
}
}
Nhưng điều này ném một HTTPException nói "Phản ứng không có sẵn trong bối cảnh này." tại câu lệnh Response.Write.
Bất kỳ ý tưởng nào về cách tiến hành?
CẬP NHẬT: Cuối cùng, tôi đã đi với một phương pháp tiếp cận dựa trên IHttpModule, mà hóa ra là khá dễ dàng.
Tôi chỉ muốn cảm ơn bạn vì bạn gợi ý 'BuildManager.CreateInstanceFromVirtualPath'. Nó đã giúp tôi rất nhiều về điều tôi đang làm. –
Trang p = (Trang) BuildManager.CreateInstanceFromVirtualPath ("~/MyPage.aspx", typeof (Trang)); –