Tôi có một tải là UserControl
đối tượng (ascx
tệp) trong dự án nhỏ của riêng họ. Sau đó tôi tham khảo dự án này trong hai dự án: REST API (là một dự án thư viện lớp) và trang web chính.Lập trình biểu diễn một trang web UserControl
Tôi chắc chắn điều này sẽ dễ dàng trên trang web, chỉ cần sử dụng Controls.Add
trong bất kỳ điều khiển Panel
hoặc ASP.NET nào sẽ hoạt động.
Tuy nhiên, còn API thì sao? Có cách nào tôi có thể hiển thị HTML của điều khiển này, chỉ đơn giản bằng cách biết loại điều khiển? Phương thức RenderControl không viết bất kỳ HTML nào cho người viết vì vòng đời của kiểm soát thậm chí không bắt đầu.
Hãy nhớ rằng tôi không có các điều khiển trong dự án web, vì vậy tôi không có đường dẫn ảo đến tệp ascx
. Vì vậy, phương pháp LoadControl sẽ không hoạt động ở đây.
Tất cả các điều khiển thực sự xuất phát từ cùng một điều khiển cơ sở. Có bất cứ điều gì tôi có thể làm từ bên trong lớp cơ sở này mà sẽ cho phép tôi để tải điều khiển từ một trường hợp hoàn toàn mới?
Tìm kiếm sự khéo léo tốt. Chỉ cần cố gắng thực hiện điều đó ngay bây giờ trong cấu trúc của tôi. Một điều tôi đã nhận thấy mặc dù - 'HtmlForm form = new HtmlForm();'. Biến này không bao giờ được sử dụng, bởi vì 'form.Controls.Add' được nhận xét? Tui bỏ lỡ điều gì vậy? – Connell
Tôi sẽ cập nhật, có một cách để thực hiện với biểu mẫu thông thường, nhưng nếu điều khiển của bạn không có thẻ biểu mẫu hoặc bạn không thêm thẻ biểu mẫu, bạn sẽ gặp lỗi thời gian chạy. Đó là những gì lớp FormLessPage bỏ qua cho bạn. –