Tôi đang viết một phần mở rộng HtmlHelper
và tôi cần tìm kiếm sự tồn tại của mẫu theo tên. Mẫu được đề cập có thể là mẫu hiển thị hoặc trình chỉnh sửa tùy thuộc vào ngữ cảnh. Suy nghĩ ban đầu của tôi là sử dụng phương pháp ViewEngines.Engines.FindPartialView
. Tuy nhiên, có vẻ như phương pháp này không tìm kiếm các thư mục ~/Views/Shared/DisplayTemplates
và ~/Views/Shared/EditorTemplates
.
Tôi cho rằng đây là lý do chính đáng. Xét cho cùng, làm thế nào để ViewEngine
biết liệu có trả về mẫu hiển thị hoặc trình soạn thảo mà không có thêm một số thông tin về ngữ cảnh không?Tìm chế độ xem mẫu MVC theo tên
Vì vậy, điều đó dẫn đến câu hỏi: làm thế nào tôi có thể tìm kiếm một cụ EditorTemplate/DisplayTemplate tôi đã xem xét bổ sung thêm một công cụ xem tùy chỉnh để bộ sưu tập ViewEngines
để bao gồm các địa điểm này. Tuy nhiên, tôi lo ngại rằng điều này có thể là vấn đề.
Mối quan tâm chính của tôi là hiển thị DisplayTemplate/EditorTemplate Chế độ xem có thể được phục vụ cho mục đích không mong muốn. Có ai khác nhìn thấy điều này như là một vấn đề?
Có một ý tưởng hay hơn là chỉ cần tạo một cá thể DisplayTemplateViewEngine
/EditorTemplateViewEngine
cụ thể khi cần thiết và giữ bộ sưu tập ViewEngines
rõ ràng về chức năng cụ thể này?
Tôi còn thiếu cái gì khác không?
Đây là câu trả lời. Tuy nhiên tôi không thể đánh dấu nó như vậy trong một vài ngày. Xin lỗi nếu bạn bị thu hút bởi bài đăng này vì trạng thái 'chưa được trả lời' rõ ràng. –
Siêu dữ liệu là gì.TemplateHint hoặc từ đâu đến? – xr280xr
@ xr280xr: Đã cập nhật để bao gồm định nghĩa siêu dữ liệu. Hy vọng rằng phục vụ bạn! –