मैं वर्तमान में एक कंसोल एप्लिकेशन का पुन: उपयोग कर रहा हूं जिसका मुख्य उत्तरदायित्व डेटाबेस में संग्रहीत मानों के आधार पर एक रिपोर्ट उत्पन्न करना है।एचटीएमएल हार्डकोड किए बिना मैं एक एचटीएमएल रिपोर्ट कैसे बना सकता हूं?
तरह से मैं रिपोर्ट टिल अब तक बनाने किया गया है इस प्रकार है:
const string format = "<tr><td>{0, 10}</td><td>
{1}</td><td>{2, 8}</td><td>{3}</td><td>{4, -30}</td>
<td>{5}</td><td>{6}</td></tr>";
if(items.Count > 0)
{
builder.AppendLine(
String.Format(format, "Date", "Id", "WorkItemId",
"Account Number", "Name", "Address", "Description"));
}
foreach(Item item in items)
{
builder.AppendLine(String.Format(format, item.StartDate, item.Id,
item.WorkItemId, item.AccountNumber,
String.Format("{0} {1}",
item.FirstName, item.LastName),
item.Address, item.Description));
}
string report = String.Format("<html><table border=\"1\">{0}
</table></html>",
builder.ToString());
(ऊपर सिर्फ एक नमूना है ... और स्वरूपण के बारे में खेद ... मैं इसे स्वरूपित करने के लिए करने की कोशिश की इसलिए इसे क्षैतिज स्क्रॉलिंग की आवश्यकता नहीं होगी ....)
मुझे वास्तव में ऐसा नहीं लगता है कि मैंने यह किया है। यह काम करता है और अब नौकरी करता है ... लेकिन मुझे नहीं लगता कि यह रखरखाव योग्य है ... विशेष रूप से यदि रिपोर्ट बनाई जाने वाली HTML के संदर्भ में रिपोर्ट अधिक जटिल हो जाती है। इससे भी बदतर, मेरी टीम के अन्य डेवलपर्स मेरे कोड के प्रतिलिपि बनाने और पेस्ट करने के लिए निश्चित हैं जो एक HTML रिपोर्ट उत्पन्न करते हैं और एक भयानक गड़बड़ पैदा करने की संभावना है। (मैंने पहले से ही इस तरह के डरावनी उत्पादों को देखा है! एक रिपोर्ट फ़ंक्शन की कल्पना करें जिसमें रिपोर्ट के ब्योरे को पुनः प्राप्त करने के लिए सैकड़ों लाइनों को हार्ड कोडेड एसक्यूएल है ... यह एक बड़ा आदमी रोने के लिए पर्याप्त है!)
हालांकि, जबकि मुझे यह बिल्कुल पसंद नहीं है ... मैं बस ऐसा करने के लिए एक अलग तरीके से नहीं सोच सकता।
निश्चित रूप से ऐसा करने का एक तरीका होना चाहिए ... मुझे यकीन है। बहुत समय पहले मैं एएसपीएक्स पृष्ठों में तालिकाओं को उत्पन्न करते समय वही काम कर रहा था जब तक कि किसी ने मुझे दिखाया कि मैं केवल वस्तुओं को नियंत्रण में बांध सकता हूं और .NET को प्रतिपादन का ख्याल रखने देता हूं। यह भरोसेमंद कोड, उपरोक्त कोड के समान, भलाई के दो या तीन सुरुचिपूर्ण लाइनों में बदल गया।
क्या कोई भी इस रिपोर्ट के लिए एचटीएमएल को कड़ी कोडिंग किए बिना एचटीएमएल बनाने के समान तरीके से जानता है?
मैं इसे आज़मा दूंगा और देख सकता हूं कि मैं कैसे जाता हूं। पहले कभी एक्सएसएलटी के साथ काम नहीं किया है, इसलिए मुझे इसके साथ गति करने के लिए थोड़ा सा समय लगेगा ... इसके अलावा, जब तक मैंने इसे क्रिया में नहीं देखा है, तब तक मैं एक उत्तर चुनना बंद कर दूंगा ... – mezoid