2012-07-25 9 views
8

यह प्रश्न करीब है: jQuery Mobile layout in ASP.NET MVC app लेकिन मैं सर्वोत्तम प्रथाओं को खोजने की कोशिश कर रहा हूं क्योंकि मुझे लगता है कि प्रत्येक दृश्य में हेडर और पाद लेख फिर से लिखना कुशल नहीं है। इसके लिए अवश्य ही एक बेहतर तरीका होना चाहिए। 'एएसपी.नेट एमवीसी लेआउट को Jquery.Mobile पृष्ठों पर लागू करने के लिए सर्वोत्तम प्रथाओं

तो, मैं अपने विचार/आंशिक विचारों के साथ काम करने के लिए एएसपी.नेट एमवीसी साझा लेआउट दृश्य (उर्फ मास्टर पेज) बनाने का सबसे अच्छा तरीका ढूंढ रहा हूं।

चारों ओर पढ़ने से वहाँ MVC लेआउट से JQuery मोबाइल पृष्ठों को प्रस्तुत करने के लिए दो तरीके हैं:

1) मानक लेआउट प्रारूप:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 
     ... 
</head> 
<body> 
<div data-role="page"> 
    <div data-role="header">...</div> 
    <div data-role="content">@RenderBody()</div> 
    <div data-role="footer">...</div> 
</div> 
</body> 
</html> 

मैं सीख रहा हूँ के रूप में मैं समस्याओं में चल रहा शुरू कर दिया और बाद में पता चला कि आप वास्तव में उस मास्टर पेआउट के अंदर अन्य "पेज" लोड नहीं कर सकते हैं। सभी विरासत दृश्यों को उस मास्टर Jquery मोबाइल पेज का हिस्सा होना चाहिए। खराब। 2)

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 
     ... 
</head> 
<body> 
<div data-role="page">  
    @RenderBody() 
</div> 
</body> 
</html> 

यह काम करेगा लेकिन यह भी मतलब है मैं करने के लिए फिर से प्रकार शीर्ष लेख और पाद लेख हर एक दृश्य पर है।

क्या आप लोग अपनी राय साझा कर सकते हैं? मेरे लेआउट में एकाधिक Jquery मोबाइल "पेज" लोड करने में सक्षम होने के लिए मुझे अभी तक शीर्षलेख/पाद लेख को दोहराने के लिए सबसे अच्छा तरीका क्या है? ... मेरा मतलब है कि अगर किसी को किसी बिंदु पर बदलना है तो क्या होगा?

अग्रिम धन्यवाद।

<!DOCTYPE html> 
<html> 
    <head>...</head> 
    <body> 
     @RenderBody() 
    </body> 
</html> 

और फिर लेआउट पृष्ठों जो मास्टर लेआउट, जहाँ आप शामिल कर सकते हैं से विरासत बनाने:

उत्तर

2

एक बात मैं इसी तरह की परिस्थितियों में क्या किया है नहीं "पेज" div के साथ एक मास्टर लेआउट बनाने के लिए है शीर्षलेख/पादलेख

@{ 
    Layout = "~/Views/Shared/_LayoutMobileMaster.cshtml"; 
} 
<div data-role="page" data-theme="b" position="fixed"> 
    <div data-role="header" data-position="fixed" data-theme="b" id="contentHeader"> 
     <a id="backBtn" data-direction="reverse" data-icon="back" class="ui-btn-left">Back</a> 
     <h1>@ViewBag.Title</h1> 
     <a id="logoutBtn" data-icon="gear" class="ui-btn-right">Logout</a> 
    </div> 
    <div data-role="content" data-theme="b"> 
     @RenderBody() 
    </div> 
</div> 
बेशक

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

+0

मुझे मास्टर लेआउट रखने का मुद्दा बिल्कुल नहीं मिलता है। इसमें कोई JQuery मोबाइल सामग्री नहीं है (जैसे पृष्ठ संकेत)। आपके द्वारा पोस्ट किया गया दूसरा लेआउट वह है जिसे आप अपने पेज (पेजों) के लिए उपयोग करेंगे। मानक लेआउट-सामग्री पृष्ठ परिदृश्य होने से यह अलग कैसे होगा? मुझे लगता है कि मैं दृश्यों/शीर्षकों के साथ कई "लेआउट पेज" भी बना सकता हूं और उनके विचारों के लिए उन्हें प्राप्त करने के लिए उपयोग कर सकता हूं। "मास्टर लेआउट" रखने का कोई कारण नहीं है ... या क्या मुझे कुछ याद आ रही है? – Shenaniganz

+1

अनिवार्य रूप से, यह केवल सुविधा के लिए है, क्योंकि मैं अपनी सभी स्क्रिप्ट/स्टाइलशीट्स को शामिल कर सकता हूं जिन्हें पूरी साइट की आवश्यकता होगी, इसलिए मुझे उन्हें प्रत्येक पृष्ठ पर शामिल करने की आवश्यकता नहीं है। चाहे आप वहां पृष्ठ div डालते हैं या प्रत्येक उप-लेआउट में वास्तव में कोई फर्क नहीं पड़ता है। – Alejo

+0

सुनिश्चित नहीं है कि कोई बेहतर दृष्टिकोण हो सकता है लेकिन यह वह रास्ता है जिसे मैं ले रहा हूं। धन्यवाद – Shenaniganz

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