2009-07-29 30 views
5

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

क्या कोई अधिकार और गलत तरीका है?

+0

http का शिकार : //stackoverflow.com/questions/702343/ondatabinding-vs-inline-pros-cons-and-overhead –

+0

हाँ, केल्सी ने इसे इंगित किया। हालांकि काफी समान नहीं है, मैं देख रहा हूं कि चीजों को करने का सही तरीका है, ज्यादातर एक परियोजना के लिए जो हम काम शुरू करने वाले हैं। – LiamGu

उत्तर

5

जब तक आपका कोडिंग मानक अन्यथा नहीं कहता है।

आईएमओ कोड-पीछे चिंताओं को अलग करने में मदद करता है, इसलिए मैं इसे पसंद करता हूं, लेकिन कभी-कभी सिर्फ एक फ़ाइल से निपटना भी अच्छा होता है।

5

कोड-पीछे अधिक पारंपरिक और तार्किक स्थान है। अगर यह काम करता है, तो यह काम करता है, लेकिन मैं इसे एएसपीएक्स में नहीं कर सकता।

+1

मुझे पता है कि आपका क्या मतलब है, मुझे इनलाइन क्लासिक एएसपी चिल्लाती है। कोड-बैक के उपयोग के साथ एकमात्र समस्या यह है कि मैं एक और पेज का वारिस भी नहीं कर सकता। कम से कम मुझे ऐसा नहीं लगता है। जबकि मेरे सहयोगियों के तर्क के साथ, वे एक पृष्ठ का उत्तराधिकारी बना सकते हैं और कोड इनलाइन का उपयोग कर सकते हैं जो इस समस्या को हल करता है। इस बहस को इस समस्या के माध्यम से वास्तव में शुरू किया गया था। – LiamGu

+0

मुझे लगता है कि एएसपीनेट एमवीसी कुछ हद तक इनलाइनिंग में वापस चला जाता है। इतिहास अपने आप को दोहराता है। – shahkalpesh

1

मैं एक समय पहले सटीक पोस्ट बना:

OnDataBinding vs Inline: pros, cons and overhead

मैं पीछे कोड पसंद करते हैं। मेरे पास आमतौर पर सभी डेटाबेस सामग्री के लिए #region क्षेत्र होता है। यह एचटीएमएल/सीएसएस में एचटीएमएल को ट्विक करने के लिए कुशल लोगों की अनुमति देता है और उन्हें पता होना चाहिए कि नियंत्रण के परिभाषा में ऑनडाटा बाइंडिंग ईवेंट का उपयोग करने और परिभाषित करने के लिए मूल नियंत्रण क्या है। वे चीजों को चारों ओर स्थानांतरित कर सकते हैं और जो भी कर सकते हैं और उस डेटाबेस में डेटा प्राप्त करने के लिए वास्तव में क्या लेता है, उसके बारे में कोई जानकारी नहीं है क्योंकि यह केवल मूल 'इवल ("कुछ") के रूप में सरल नहीं हो सकता है;

+0

आह मैंने उसे नहीं देखा। प्रभावी डबल पोस्ट के लिए खेद है। – LiamGu

+0

खोज हमेशा डुप्लिकेट नहीं करती है, मैंने इसे पहले भी किया है;) – Kelsey

0

इनमें से किसी के साथ कोई अधिकार/गलत नहीं है।

आप कुछ कोड इनलाइन & लिख सकते हैं, इनमें से कुछ को कोड-बैक में लिखा जाना चाहिए। यह पूर्ण नहीं हो सकता है। इस पर निर्भर करता है कि जब आप इसे दूसरी तरफ लिखते हैं तो यह कितना पठनीय/रखरखाव हो जाता है।

संपादित करें: जैसा कि कहा जाता है, संकलक के लिए संयोग से मानव & के लिए कोड लिखें।

0

मैं कोड-बैक का उपयोग करता हूं क्योंकि यह WPF के लिए एकमात्र तरीका है और मैं लगातार रहने की कोशिश करता हूं और यह अधिक प्राकृतिक लगता है। लेकिन वह व्यक्तिपरक है।

1

ठीक है, इनलाइन कोड है, और उसके बाद इनलाइन कोड है। यदि आपके पास पेज_लोड के लिए शीर्ष पर एक स्क्रिप्ट ब्लॉक है, तो यह ठीक है। लेकिन यदि आप मार्कअप के साथ बहुत सारे मधुमक्खियों (<% %>) को मिश्रित कर रहे हैं, तो अंत में आपको परेशानी होनी चाहिए जब उन मधुमक्खियों का काम अन्य सर्वर नियंत्रणों के साथ काम नहीं करेगा।

1

व्यक्तिगत रूप से मैं रन-टाइम त्रुटियों में संकलन त्रुटियों को प्राथमिकता देता हूं इसलिए मैंने अपना पूरा तर्क कोड पीछे रख दिया।

कभी-कभी जब मुझे पृष्ठ पर दिखाने के लिए एक मूल्य की आवश्यकता होती है तो मैं <% = कुछ वैल्यू%> डाल दूंगा लेकिन फिर भी मैं एक लेबल बनाना और इसे सेट करना पसंद करता हूं।

1

मुझे यकीन है कि मैं सवाल समझ में बनाना चाहते - इन-लाइन द्वारा, आप

<a><% some.asp.net.code %></a> 

तरह के टुकड़े मतलब है या आप प्रत्येक पृष्ठ के लिए बनाम दो फ़ाइलों मतलब है:

page.aspx 
page.aspx.cs 

?

क्योंकि मैं क्या मैं पहले उदाहरण में 'एम्बेडेड' कोड फोन के एक प्रशंसक नहीं हूँ, लेकिन मैं एक < स्क्रिप्ट runat = "सर्वर" के साथ एक ही फाइल में कोड और मार्कअप पसंद करते हैं>

+0

मेरे लिए इनलाइन कोड