मैं एक एम्बेडेड संसाधन को ITemplate के रूप में कैसे लोड कर सकता हूं? LoadTemplate() विधि केवल एक स्ट्रिंग वर्चुअल पथ लेती है, और जाहिर है यह एम्बेडेड संसाधनों के लिए काम नहीं करेगा।एम्बेडेड संसाधन से लोड टेम्पलेट
उत्तर
मान लें कि आपके टेम्पलेट्स एम्बेडेड हैं और मुझे इस तरह रहने की आवश्यकता है (जो मुझे लगता है कि आप पुनर्विचार करना चाहते हैं), यहां एक ऐसा फ़ंक्शन है जिसे मैंने कुछ समय पहले लिखा था कि मैंने एम्बेडेड फ़ाइलों से निपटने के दौरान सफलतापूर्वक कई बार उपयोग किया है (ज्यादातर। एसक्यूएल फाइलें)। यह एक एम्बेडेड संसाधन को एक स्ट्रिंग में परिवर्तित करता है। फिर आपको डिस्क पर अपना टेम्पलेट लिखने की आवश्यकता हो सकती है।
public static string GetEmbeddedResourceText(string resourceName, Assembly resourceAssembly)
{
using (Stream stream = resourceAssembly.GetManifestResourceStream(resourceName))
{
int streamLength = (int)stream.Length;
byte[] data = new byte[streamLength];
stream.Read(data, 0, streamLength);
// lets remove the UTF8 file header if there is one:
if ((data[0] == 0xEF) && (data[1] == 0xBB) && (data[2] == 0xBF))
{
byte[] scrubbedData = new byte[data.Length - 3];
Array.Copy(data, 3, scrubbedData, 0, scrubbedData.Length);
data = scrubbedData;
}
return System.Text.Encoding.UTF8.GetString(data);
}
}
उदाहरण उपयोग:
var text = GetEmbeddedResourceText("Namespace.ResourceFileName.txt",
Assembly.GetExecutingAssembly());
मैं चाहता था कि टेम्पलेट को एम्बेड किया जाए क्योंकि इसे नियंत्रण के लिए डिफ़ॉल्ट टेम्पलेट के रूप में उपयोग किया जाता है, और यह एक विशिष्ट शैली का हिस्सा है। – MadSkunk
आपका नियंत्रण यह तरह दिखना चाहिए:
public class Con : Control
{
public Template Content { get; set; }
protected override void CreateChildControls()
{
base.CreateChildControls();
Content = new Template();
// load controls from file and add to this control
Content.InstantiateIn(this);
}
public class Template : ITemplate
{
public void InstantiateIn(Control container)
{
// load controls
container.Controls.Add((HttpContext.Current.Handler as Page).LoadControl("Emb.ascx"));
}
}
}
फिर एम्बेडेड फ़ाइल:
<%@ Control Language="C#" %>
<asp:TextBox ID="Tb" runat="server" />
तब नियंत्रण का उपयोग जब यह एम्बेडेड संसाधन लोड होगा, इसलिए का उपयोग कर:
<%@ Register Assembly="TestWeb" Namespace="TestWeb" TagPrefix="c" %>
<c:Con runat="server" />
टेक्स्टबॉक्स बनाएगा।
आप, see this implementation of VirtualPathProvider एक DLL के अंदर एक फ़ाइल का उपयोग करने की कोशिश कर रहे हैं।
- 1. एम्बेडेड संसाधन
- 2. लोड करने के लिए एम्बेडेड संसाधन आंशिक दृश्य
- 3. टेम्पलेट से jinja2 लोड टेम्पलेट फ़ाइल
- 4. डेटाबेस से लोड django टेम्पलेट
- 5. माइक्रोसॉफ्ट का उपयोग कर गतिशील रूप से एम्बेडेड संसाधन रिपोर्ट लोड करें। रिपोर्टिंग। WinForms
- 6. एम्बेडेड संसाधन से एचटीएमएल/जावास्क्रिप्ट को Winform वेब ब्राउज़र में कैसे लोड करें
- 7. एम्बेडेड संसाधन पर बल दृश्य स्टूडियो पुनर्निर्माण
- 8. एमएस वेबब्रोसर + एम्बेडेड एचटीएमएल संसाधन + res: // प्रोटोकॉल
- 9. बाहरी फ़ाइल से jQuery-टेम्पलेट लोड करें?
- 10. विजुअल स्टूडियो 2010 में दो निर्माण कार्यों "संसाधन" और "एम्बेडेड संसाधन" के बीच क्या अंतर है?
- 11. Grails संसाधन प्लगइन और AJAX लोड जावास्क्रिप्ट
- 12. एम्बेडेड जेपीजी संसाधन क्यूटी अनुप्रयोग में लोड नहीं हो रहे हैं
- 13. जावास्क्रिप्ट - एम्बेडेड तत्वों के लिए लोड इवेंट
- 14. किसी अन्य असेंबली में सभी एम्बेडेड संसाधन खोजें
- 15. मैं एम्बेडेड संसाधन के "पथ" को कैसे खोज सकता हूं?
- 16. सी # एम्बेडेड संसाधन के रूप में देखें हमेशा
- 17. उल्का टेम्पलेट पुनः लोड अनंतता
- 18. डेटा टेम्पलेट एक अलग संसाधन डिक्शनरी
- 19. लोड संसाधन को बाइट सरणी प्रोग्रामेटिक रूप से
- 20. कैसे वेब अनुप्रयोग में संसाधन बंडल फिर से लोड करने?
- 21. सी #: संसाधन फ़ाइल से कर्सर कैसे लोड करें?
- 22. संसाधन फ़ाइल से WPF स्टाइल लोड हो रहा है
- 23. संसाधन लोड करने में विफल: फ़्रेम लोड बाधित - Agian
- 24. एम्बेडेड जेएआर फ़ाइल
- 25. संसाधनों से एक एक्सएमएल लोड करें
- 26. HTTP पर संसाधन बंडल लोड करें?
- 27. सी, यूनिक्स, लिनक्स और एम्बेडेड सिस्टम सीखने के लिए संसाधन
- 28. एक संसाधन 0 से एक संसाधन
- 29. छवि संसाधन लोड हो रहा है
- 30. जेड - विभिन्न निर्देशिकाओं से टेम्पलेट लोड हो रहा है
आप समझा सकते हैं जहां 'ITemplate' से आता है? – JaredPar
@JaredPar, asp.net - मैंने टैग को शामिल करने के लिए संशोधित किया। –
प्रत्येक फ़ाइल में एक पथ है। क्या आप एक डीएलएल के अंदर एक फाइल तक पहुंचने की कोशिश कर रहे हैं? – BrunoLM