"प्रेजेंटेशन लॉजिक" क्या है और विचारों में कितना स्वीकार्य है?


13

अपने वेब एप्लिकेशन में मुझे बनाने और संपादन के लिए एक फॉर्म प्रदान करना है। बनाने और संपादन के लिए रूपों में मामूली अंतर है, इसलिए मैं अपने विचार में ऐसा कुछ करने की सोच रहा हूं:

<form>
// a lot of htnl goes here 
@if (editing)
{
  // some more fields shown in edit mode
}
@if(!editing)
{
 // some stuff shown in create mode
}

मैंने हमेशा ifअपने विचारों में कोई बयान नहीं देने की कोशिश की है , लेकिन इस बार मुझे दो स्थानों पर HTML के एक विशाल हिस्से को कॉपी करने के अलावा कोई अन्य विकल्प नहीं दिखता, जो मैं नहीं करना चाहता। क्या यह उचित "प्रस्तुति तर्क" है और क्या कोई अन्य विकल्प हैं?

जवाबों:


17

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

क्या संपादन / निर्माण मोड के लिए क्षेत्रों का चयन प्रस्तुति तर्क का उचित उपयोग बहस का मुद्दा है। भाग में यह अनुकूलन की तरह और मात्रा पर निर्भर करता है।
उदाहरण के लिए, यदि अंतर केवल एक शीर्षक परिवर्तन है, या एक या दो फ़ील्ड को केवल-एक मोड में रीड-ओनली दिखा रहा है, तो यह एक बार देखने और मोड को गतिशील रूप से चुनने का सही विकल्प हो सकता है।
दूसरी ओर, मेरी पहली प्रतिक्रिया यह थी कि यह वास्तव में दो अलग-अलग विचार होने चाहिए, जहां आम भागों को एक तीसरी फ़ाइल से आयात किया जाता है (समान रूप से कैसे हेडर और पाद को विचारों में जोड़ा जाता है)।


12

यह एक @ कथन या एक रेजर दृश्य में दो का उपयोग करने के लिए पूरी तरह से उचित लगता है।
उन्होंने @ रेजर में @if जोड़ा - इसका उपयोग करने के लिए है।

आपके कोड को @ @ में छोटा किया जा सकता है:

@if (editing)
{
  // some more fields shown in edit mode
}
else
{
 // some stuff shown in create mode
}

एक विकल्प तीन विचारों का उपयोग करना है:

  • सामान्य HTML युक्त आंशिक दृश्य
  • दृश्य बनाएं (आंशिक दृश्य को कॉल करें)
  • दृश्य संपादित करें (आंशिक दृश्य भी कहता है)

आप DisplayTemplates और EditorTemplates की जांच कर सकते हैं, जो केवल पढ़ने और संपादन योग्य विचारों को विभाजित करने का एक अच्छा तरीका है।

http://www.growingwiththeweb.com/2012/12/aspnet-mvc-display-and-editor-templates.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.