c# व्यू इंजन क्या है? यह वास्तव में क्या करता है?




asp.net asp.net-mvc (8)

मैंने ASP.NET MVC3 सीखना शुरू किया।

इसलिए, ऑनलाइन और पुस्तकों में ट्यूटोरियल पढ़ते समय, मुझे यह शब्द "व्यू इंजन" काफी बार आया। मुझे नहीं पता कि यह क्या है।

यह वास्तव में क्या करता है?

मेरे लिए यह सब क्यों मायने रखता है?


Answer #1

दो दृश्य इंजन:

ASPX

ASPX दृश्य इंजन, सर्वर साइड स्क्रिप्ट को [%%] के बीच लपेटा जाता है ।ASPX इसका विस्तार है।

उस्तरा

रेजर हम @ का उपयोग करते हैं। HTML और कोड के बीच स्विच करना संभव है। रेज़र व्यू एक्सटेंशन ।CSHTML और .VBHTML


Answer #2

मैंने http://questionbox.in/view-engine-asp-net-mvc-razor-view-engine-asp-net-mvc-web-form-aspx-view-engine-asp-net-mvc/ पर विवरणात्मक पोस्ट पढ़ी http://questionbox.in/view-engine-asp-net-mvc-razor-view-engine-asp-net-mvc-web-form-aspx-view-engine-asp-net-mvc/

व्यू इंजन आपके दृश्य से ब्राउज़र को HTML रेंडर करने की क्षमता देता है।

ASP.NET MVC द्वारा समर्थित कई व्यू इंजन हैं लेकिन सबसे अधिक उपयोग किए जाने वाले व्यू इंजन हैं

  • वेब फॉर्म / ASPX व्यू इंजन।
  • रेज़र व्यू इंजन।

वेब प्रपत्र दृश्य इंजन / ASPX दृश्य इंजन:

  • वेब फॉर्म व्यू इंजन / ASPX व्यू इंजन Asp.net MVC प्रोजेक्ट के लिए डिफ़ॉल्ट व्यू इंजन है। यह MVC 1.0 से उपलब्ध है
  • Web Form Engine के लिए नामस्थान Web.Mvc.WebFormViewEngine है
  • इस दृश्य इंजन के लिए फ़ाइल एक्सटेंशन वेब फॉर्म के समान है:

.aspx, केवल वेब फ़ॉर्म पृष्ठों की तरह दृश्य के लिए। उपयोगकर्ता नियंत्रणों की तरह आंशिक दृश्यों और संपादक टेम्पलेट के लिए .ascx। .मास्टर, लेआउट और मास्टर पेज के लिए वेब फॉर्म में मास्टर पेज की तरह।

  • TDD (Test Driven Development) के लिए कोई समर्थन नहीं।
  • वेब फॉर्म इंजन XSS के हमलों को रोकता नहीं है मतलब पृष्ठ को रेंडर करते समय डेटाबेस में सहेजी गई किसी भी स्क्रिप्ट को निकाल दिया जाएगा
  • सिंटैक्स: <%: Html.ActionLink ("होम", "इंडेक्स")%>

रेज़र व्यू इंजन:

  • रेजर व्यू इंजन एक उन्नत दृश्य इंजन है, जो MVC 3.0 और बाद के संस्करणों के साथ उपलब्ध है
  • ASPX दृश्य इंजन के लिए नाम स्थान Web.Razor है।
  • इस दृश्य इंजन के लिए फ़ाइल एक्सटेंशन .cshtml (रेजर C #) है, दृश्य, आंशिक दृश्य, संपादक टेम्पलेट और लेआउट पृष्ठ के लिए। .vbhtml (रेजर VB.NET), व्यूज़ के लिए, आंशिक दृश्य, संपादक टेम्प्लेट और लेआउट पेज।
  • TDD (टेस्ट ड्रिवेन डेवलपमेंट) का समर्थन करता है।
  • वेब फॉर्म इंजन की तुलना में रेज़र इंजन थोड़ा धीमा है।
  • रेज़र इंजन XSS हमलों (क्रॉस-साइट स्क्रिप्टिंग अटैक) को रोकता है, इसका मतलब है कि यह स्क्रिप्ट या HTML टैग्स को <,> देखने के लिए रेंडर करने से पहले एन्कोड करता है।
  • रेजर सिंटैक्स समझने में आसान है और वेब फॉर्म सिंटैक्स की तुलना में बहुत साफ है। रेजर कोड का उपयोग करने के लिए @ प्रतीक का उपयोग करता है:

    @ Html.ActionLink ("होम", "इंडेक्स")


Answer #3

एक दृश्य इंजन वह है जो MVC नियंत्रक से अनुरोध किए गए विचारों को खोजने और प्रस्तुत करने के लिए उपयोग करता है। यदि आप डिफ़ॉल्ट राउटिंग से संतुष्ट हैं, तो आपको कुछ भी बदलने की आवश्यकता नहीं होगी, लेकिन आपको यह बताने की इच्छा है कि आप अपनी साझा की गई फ़ाइलों को आमतौर पर रूट / आम में स्थित करना चाहते हैं / साझा करने के बजाय रूट / आम में स्थित होना चाहते हैं, एक कस्टम व्यूएंगाइन वह है जो आप करेंगे ऐसा करने में सक्षम होने के लिए बनाने की जरूरत है।

यहाँ आप देख सकते हैं कि एक व्यूएंगइन का निर्माण कैसे करें:

http://coderjournal.com/2009/05/creating-your-first-mvc-viewengine/

व्यू इंजन भी दृश्य प्रदान करने के लिए ज़िम्मेदार है, लेकिन जैसा कि आप अभी एमवीसी सीख रहे हैं, आपको शायद अभी तक प्रतिपादन कार्यक्षमता को बदलने की आवश्यकता नहीं होगी


Answer #4

अब तक हर प्रतिक्रिया ASP.NET से संबंधित है। यदि आप नोडज के लिए एक दृश्य इंजन की तलाश कर रहे हैं, तो निम्न में से कुछ विकल्प हैं:

Jade (Pug)
express-handlebars
ejs
React

उनमें से एक पूरी सूची है जो मुझे https://github.com/expressjs/express/wiki#template-engines पर मिली है, लेकिन ऊपर वाले को लगता है कि मैं सबसे ज्यादा सुनता हूं।


Answer #5

MVC में, व्यू इंजन वह है जो आपके व्यू के अंदर कोड को संकलित करके आपके ब्राउज़र को मान्य HTML आउटपुट प्रदान करने के लिए आपके व्यू और ब्राउज़र के बीच काम करता है। कई दृश्य इंजन उपलब्ध हैं और उनमें से कुछ निम्नलिखित हैं:

  1. ASPX

  2. उस्तरा

  3. स्पार्क

  4. NHaml

  5. NDJango

  6. Hasic

  7. Brail

  8. Bellevue

  9. तेज टाइलें

  10. स्ट्रिंग टेम्पलेट

  11. विंग बीट्स

  12. SharpDOM

वर्तमान में अधिकांश डेवलपर्स रेजर व्यू इंजन का उपयोग करना पसंद करते हैं क्योंकि यह प्रोग्रामिंग का बहुत सुविधाजनक तरीका प्रदान करता है। ये सभी दृश्य इंजन ASP.NET MVC का समर्थन नहीं कर सकते हैं।

अधिक जानकारी के लिए आप इस लेख पर जा सकते हैं।


Answer #6

ASP.Net MVC में, दृश्य इंजन वह है जो आपके दृश्य द्वारा प्रदान किए गए आउटपुट पर विचार करके आपके ब्राउज़र को मान्य HTML आउटपुट प्रदान करने के लिए आपके दृश्य और ब्राउज़र के बीच काम करता है। कई प्रकार के दृश्य इंजन हैं।

1) ASPX

2) उस्तरा

3) स्पार्क

4) NHaml

5) NDJango

6) Hasic

7) Brail


Answer #7

ब्राउज़र या ब्राउज़र के लिए HTML पेज रेंडर करने के लिए एप्लिकेशन के अंदर व्यू इंजन काम करता है। इसमें HTML टैग, सर्वर नियंत्रण और कुछ प्रोग्रामिंग भाषा हो सकती है।

रेजर MVC4 फ्रेमवर्क के लिए पसंदीदा व्यू इंजन है।


Answer #8

आपके विचार से HTML बनाने के लिए व्यू इंजन जिम्मेदार है। दृश्य आमतौर पर HTML और प्रोग्रामिंग भाषा के कुछ प्रकार के मिश्रण होते हैं। इनमें से अधिकांश के पीछे के पैटर्न को टू-स्टेप व्यू कहा जाता है।

उदाहरण के लिए, ASP.NET बॉक्स से बाहर अपने स्वयं के दृश्य इंजन के साथ आता है। यह वह जगह है जहाँ विचारों के बहुत सारे टैग हैं जैसे <% %> और <%: %> । यह .aspx फ़ाइल एक्सटेंशन का उपयोग करता है।

ASP.NET MVC3 के साथ, एक और आउट-ऑफ-द-बॉक्स व्यू इंजन जोड़ा गया, Razor , जिसमें अधिक आकर्षक वाक्यविन्यास है, जैसे <div>@Model.UserName</div>

व्यू इंजन का चुनाव महत्वपूर्ण है, क्योंकि व्यू इंजन के फीचर सेट काफी अलग हैं। उदाहरण के लिए, पीडीएफ फाइलों को प्रदान करने वाले कुछ समर्थन; कुछ का उपयोग वेब संदर्भ के बाहर नहीं किया जा सकता (यह पुराने ASP.NET व्यू इंजन के लिए सही है), जबकि अन्य (जैसे रेजर) कर सकते हैं। जब आप HTML ईमेल बनाना चाहते हैं तो उसी तरह से विचारों का 'ऑफ़लाइन' काम आता है, जिस तरह से आप अपने विचारों का निर्माण करते हैं और उन ईमेलों को एक वेब एप्लिकेशन के बजाय एक पृष्ठभूमि कार्यकर्ता से भेजा जाना चाहिए।

एसओ पर यहां asp.net व्यू इंजन की अच्छी तुलना है।

अच्छी खबर यह है कि आप ASP.NET MVC के समानांतर में कई व्यू इंजन का उपयोग कर सकते हैं, हालांकि मैं इसकी आवश्यकता नहीं है।

रेज़र इंजन में पहले से ही कुछ बहुत अच्छे विस्तार बिंदु हैं। उदाहरण के लिए, आप एक कस्टम व्यू बेस क्लास प्रदान कर सकते हैं, एक शक्तिशाली अवधारणा जो सही जगह पर बहुत सारी कार्यक्षमता जोड़ने के लिए आसान बनाता है, बिना किसी भी गंभीर विवरण के साथ गड़बड़ किए बिना जिसे आपको अन्यथा सामना करना पड़ेगा।

मैं वर्तमान में रेजर के लिए जाना था।





viewengine