2008-09-11 13 views
6

मैं पेजों को प्रस्तुत करते समय "बेहतर" (यानी क्लीनर) HTML बनाने और बनाने के लिए अपनी एएसपी.NET विकास टीम के साथ काम कर रहा हूं। फिलहाल, .NET के पास पृष्ठ पर जावास्क्रिप्ट डंप करने जैसी चीजों को करने की एक ग़लत प्रवृत्ति है, जो इसे फ़ॉर्म नियंत्रणों पर अनिवार्य आवश्यकता बनाती है और जेएस उपलब्ध नहीं होने पर फ़ॉर्म को काम करने की इजाजत नहीं देता है। कुछ मामलों में, हम विकास समय अनुमानों के लिए एक उल्लेखनीय हिस्सा जोड़ने के बिना इसे दूर करने के लिए संघर्ष कर रहे हैं।क्या .NET MVC मुझे HTML/CSS/JS पृथक्करण की आवश्यकता होगी?

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

यह वास्तव में अच्छी तरह से बाहर काम किया और हम कुछ का उत्पादन करने में सक्षम थे मैंने देखा है कि एक सीएमएस से "सर्वश्रेष्ठ" वेब पृष्ठों में से। क्या .NET MVC मुझे अलग-अलग अलगाव दे सकता है, या यह परीक्षण करने के लिए मूल्यवान विकास समय को अलग करने के लिए एक झूठी अर्थव्यवस्था होगी?

यदि .NET एमवीसी मुझे अलग-अलग पर इस सुगंधित नियंत्रण देने वाला नहीं है, तो .NET कोडिंग प्रथाओं, पुस्तकालयों आदि के लिए कोई भी सिफारिशें जो वास्तव में सहायक हो सकती हैं।

उत्तर

5

एएसपी.नेट एमवीसी फ्रेमवर्क आपको अधिक परिचित अलगाव प्रदान करेगा, लेकिन अधिकांश दृश्य इंजन इस संबंध में बेहतर हैं। चूंकि एमवीसी फ्रेमवर्क में कोई व्यूस्टेट नहीं है, इसलिए आपको जावास्क्रिप्ट को अपने पृष्ठों में डंप करने की चिंता करने की आवश्यकता नहीं होगी। आप जो एकमात्र जावास्क्रिप्ट कॉल देखते हैं वह वह होगा जो आप मैन्युअल रूप से जोड़ते हैं।

आप अधिकांश भाग के लिए, अलग-अलग HTML/CSS/JS जैसे आप एक अलग ढांचे में कर सकते हैं।

+0

क्या विशिष्ट चेतावनी हैं जिनके बारे में मुझे अवगत होना चाहिए? – markedup

+0

वास्तव में नहीं - अगर आप एचटीएमएल का उपयोग करने के परिप्रेक्ष्य से आ रहे हैं और एएसपी.नेट एमवीसी फ्रेमवर्क छेद में भरते हैं तो यह बहुत सीधे आगे है। मैं स्टीफन वाल्थर की साइट को देखने की अनुशंसा करता हूं: http://weblogs.asp.net/StephenWalther/ ट्यूटोरियल के अच्छे सौदे के लिए और http://asp.net/mvc –

3

उस व्यू इंजन के आधार पर जिसका आप उपयोग करने जा रहे हैं। हाँ।

लेकिन आप स्टैक-ओवरफ्लो के लिए पृष्ठ-स्रोत को देखकर इसे आसानी से देख सकते हैं। यह ज़ेन-गार्डन नहीं है लेकिन यह बहुत साफ है।

कुछ और स्पष्टीकरण:

पृष्ठों का प्रतिपादन दृश्य इंजन द्वारा किया जाता है। आप मोनोरेल की तरह मानक दृश्य इंजन या मौजूदा लोगों जैसे एनवेलोसिटी या ब्रेल का उपयोग कर सकते हैं। http://www.chadmyers.com/Blog/archive/2007/11/28/testing-scottgu-alternate-view-engines-with-asp.net-mvc-nvelocity.aspx

चूंकि व्यू इंजन HTML बनाने के लिए ज़िम्मेदार है, जो आपकी पसंद पर निर्भर करता है। लेकिन वेनिला एएसपी.Net

+0

क्या आप अधिक विशिष्ट/प्रस्ताव उदाहरण हो सकते हैं, कृपया? मैं एएसपी कोडर नहीं हूं, इसलिए मुझे यकीन नहीं है कि आपका क्या मतलब है। मैं अपनी टीम में उपस्थित होने के विकल्पों का शोध करने की कोशिश कर रहा हूं। अग्रिम में धन्यवाद। – markedup

1

@Wrestlevania ने कहा:

नेट लिए कोई सुझाव प्रथाओं, पुस्तकालयों, आदि को ढूंढ सकते हैं वास्तव में मददगार होगा कोडिंग।

मैं ASP.Net में कोडिंग करते समय उच्च स्तर के अलगाव को बनाए रखने का प्रयास करता हूं। मुझे लगता है कि अगर मैं एएसपी नियंत्रण से बचता हूं और बुनियादी एचटीएमएल तत्वों के साथ जितना संभव हो चिपकता हूं, तो मैं किसी भी स्थिति से बच सकता हूं जहां एएसपी.Net मेरे पृष्ठ में अतिरिक्त सीएसएस या जेएस इंजेक्ट करने के इच्छुक होगा। उदाहरण, एएसपी के स्थान पर स्पैन का उपयोग करें: शाब्दिक, एएसपी के स्थान पर बटन: बटन, आदि

एकमात्र एएसपी नियंत्रण जो मैं उपयोग करता हूं वह दोहराना है, जिसका उपयोग टेबल बनाने के लिए किया जाता है। मुझे जो भी कार्यक्षमता चाहिए वह एक एएसपी नियंत्रण के समान होगा, मैं या तो खुद को जावास्क्रिप्ट में लागू करता हूं, या jquery जैसे ढांचे का उपयोग करता हूं।

+0

हम इस तरह के सीमाओं के आसपास काम कर रहे हैं, लेकिन मुझे एएसपी नियंत्रण पूरी तरह से हटाने के लिए प्रतिरोध (अलग मुद्दा!) का सामना करना पड़ रहा है। मैं इस समय अधिकांश जावास्क्रिप्ट कोडिंग के लिए jQuery का उपयोग कर रहा हूं और एएसपी के अलावा कुछ आईडी बदल रहा है, यह अच्छी तरह से काम कर रहा है। धन्यवाद। – markedup

0

Asp.Net एमवीसी आपको एचटीएमएल/सीएसएस/जेएस को अलग रखने में मदद करेगा, इससे कम सुविधाएं दिखाई देगी जो आपको अलग रखने से रोकती हैं।

उदाहरण के लिए एचटीएमएल हेल्पर्स आम तौर पर उस पर वापस आते हैं: एचटीएमएल। उस बिंदु से आप केवल कक्षा विशेषताओं से जुड़े सभी स्टाइल जानकारी को रखने के लिए स्वतंत्र हैं।

उन तरीकों को भी देखें जिन पर आप आमतौर पर jQuery जैसी लाइब्रेरी का पालन करते हैं। तत्व प्रकार, वर्ग और आईडी जैसी चीजों के आधार पर पेज लोड पर तत्वों के ईवेंट इवेंट हैंडलिंग व्यवहार को लागू करके स्क्रिप्ट की कार्यक्षमता को पूरी तरह से अपने जेएस में और अपने एचटीएमएल से बाहर रखने का एक उत्कृष्ट उदाहरण है।

संबंधित मुद्दे