Trong khi nhìn vào một chủ đề tôi đã tải về từ thư viện Orchard CMS, tôi nhận thấy rằng một tập tin Layout.cshtml có khối mã này ở phía trên cùng của tập tin:Khối mã @functions trong tệp dao cạo làm gì và khi nào (nếu bao giờ) tôi nên sử dụng nó?
@functions {
// To support the layout classifaction below. Implementing as a razor function because we can, could otherwise be a Func<string[], string, string> in the code block following.
string CalcuClassify(string[] zoneNames, string classNamePrefix)
{
var zoneCounter = 0;
var zoneNumsFilled = string.Join("", zoneNames.Select(zoneName => { ++zoneCounter; return Model[zoneName] != null ? zoneCounter.ToString() : ""; }).ToArray());
return HasText(zoneNumsFilled) ? classNamePrefix + zoneNumsFilled : "";
}
}
Tôi biết những gì các chức năng tuyên bố thực hiện (tính toán các vùng nào được điền để trả về chiều rộng của mỗi cột), câu hỏi của tôi là - việc sử dụng đúng khối @function là gì và khi nào tôi nên sử dụng nó?
Cá nhân tôi nghĩ rằng nó nên tránh vì nó chỉ bùn nước trong những gì là bạn trình bày/xem lớp và bộ điều khiển/lớp kinh doanh của bạn là gì. – Liam
@Liam - Tôi không đồng ý. Tôi nghĩ rằng nó nên được sử dụng rõ ràng cho mục đích của * tránh * bùn nước. Trong ví dụ này, nó nhằm mục đích xác định chiều rộng cột, mà không phải là điều mà bộ điều khiển thậm chí còn biết. – Bobson
@bobson point – Liam