Tôi đang phát triển mô-đun DNN và tôi muốn hiển thị thông báo thông tin ở đầu Nội dung của tôi, không nằm phía trên mô-đun thực tế. Tôi đã thấy rằng DotNetNuke.UI.Skins.Skin.AddPageMessage()
chỉ nên làm điều đó. Tôi không nhận được hành vi tôi muốn mặc dù, thông điệp sẽ không hiển thị chút nào.Làm thế nào để sử dụng phương thức Skin.AddPageMessage()?
Có một vài lần quá tải của phương pháp này, một nhóm chấp nhận đối tượng Page
, một đối tượng khác lấy đối tượng Skin
.
public static void AddPageMessage(Page page, string heading, string message, ModuleMessage.ModuleMessageType moduleMessageType)
public static void AddPageMessage(Skin skin, string heading, string message, ModuleMessage.ModuleMessageType moduleMessageType)
tôi đã có một cái nhìn vào nguồn DNN và phát hiện ra rằng cuối cùng họ đang thực sự sử dụng cùng một phương pháp private static AddPageMessage(...)
, mà chỉ tìm kiếm một ContentPane trong tầm kiểm soát cung cấp và bổ sung thêm một mới ModuleMessage
đến bộ sưu tập các điều khiển của nó.
Tôi nên chuyển thông số nào thành thông số Page
hoặc Skin
để sửa lỗi này hoạt động?
Thanks ...
cảm ơn câu trả lời của bạn, tôi đã thử cách bạn mô tả trước đây, nhưng tiếc là nó có vẻ không hoạt động. Tôi đã thử cả hai với giao diện mặc định và tùy chỉnh. Trong khi gỡ lỗi nguồn dnn, FindControl trên thực tế tìm thấy ContentPane, nhưng bộ sưu tập Controls của nó trống (không nên, vì ít nhất phải có module của tôi) và sau khi thêm một đối tượng ModuleMessage mới vào bộ sưu tập không có gì xảy ra và không có thông báo được hiển thị trên trang. Bất kỳ ý tưởng? –
Hmm, tôi cũng thấy điều tương tự. Kỳ dị. Tôi không hoàn toàn chắc chắn tại sao điều đó lại xảy ra vào lúc này. –
Một số bằng chứng khác ... phương pháp IS đang hoạt động để thêm thông báo "Thử nghiệm DNN Pro". Nhưng khi tôi tự gọi nó là nó không hiển thị trong giao diện người dùng, mặc dù nó tìm thấy ContentPane ... –