ठीक है का उपयोग करते हुए, तो खाते में इस तरह मेरी पोस्ट कुछ के लिए टिप्पणियों आदि लेने के द्वारा मूल सूची क्लोन होगा:
यहां प्रदर्शन की आसानी के लिए, मैं पेज शैलियों पर उपयोग कर रहा हूं, लेकिन आप पृष्ठ संदर्भों का आसानी से उपयोग कर सकते हैं।
घोषणा निम्नलिखित शैलियों: अब
<!-- Intial display for screen -->
<div class="no_print">
<!-- Loop through users here using preferred looping/display method -->
<ul>
<li>Bob</li>
<li>Fred</li>
<li>John</li>
</ul>
</div>
<!-- Now loop through each user, highlighting as you go, but for printer* -->
<div class="printable">
<ul>
<li><b>Bob</b></li>
<li>Fred</li>
<li>John</li>
</ul>
</div>
<div class="printable">
<ul>
<li>Bob</li>
<li><b>Fred</b></li>
<li>John</li>
</ul>
</div>
<div class="printable">
<ul>
<li>Bob</li>
<li>Fred</li>
<li><b>John</b></li>
</ul>
</div>
:
<!-- media="print" means these styles will only be used by printing
devices -->
<style type="text/css" media="print">
.printable{
page-break-after: always;
}
.no_print{
display: none;
}
</style>
<!-- media="screen" means these styles will only be used by screen
devices (e.g. monitors) -->
<style type="text/css" media="screen">
.printable{
display: none;
}
</style>
<!-- media types can be combined with commas to affect multiple devices -->
<style type="text/css" media="screen,print">
h1{
font-family: Arial, Helvetica, sans-serif;
font-size: large;
font-weight: bold;
}
</style>
उसके बाद, आप देख कुछ इस तरह आपके विचार एचटीएमएल प्राप्त करने के लिए कुछ बड़े कार्य करने करने की जरूरत करने जा रहे हैं एक "उचित प्रदर्शन विधि" के लिए।
मैं सिर्फ MVC के साथ शुरू हो रही है, तो आप शायद ऐसा करने का एक बेहतर तरीका मिल गया है, लेकिन अब के लिए मैं शायद इस तरह की एक RenderPartial विधि का उपयोग करेंगे:
<%
/*
Using RenderPartial to render a usercontrol,
we're passing in the Model here as the Model for the control,
depends on where you've stored your objects really, then we
create a new anonymous type containing the properties we want
to set.
*/
// Display the main list
Html.RenderPartial("~/Views/Shared/Controls/UserList.ascx",
ViewData.Model,
new {HighlightUser = null, IsPrintable = false});
// Loop through highlighting each user
foreach (var user in ViewData.Model)
{
Html.RenderPartial("~/Views/Shared/Controls/UserList.ascx",
ViewData.Model,
new {HighlightUser = user, IsPrintable = true});
}
%>
आपका उपयोगकर्ता नियंत्रण इसके बाद डिस्प्ले के बड़े हिस्से को नियंत्रित कर सकते हैं, जिसमें उपयुक्त divs (या जो भी तत्व आप उपयोग करते हैं) की कक्षा को उचित रूप से सेट कर सकते हैं, और उपयोगकर्ता द्वारा बोल्ड किए गए एक के आधार पर बोल्ड कर सकते हैं - जैसा कि मैंने कहा था, संभवतया ऐसा करने का एक बेहतर तरीका है आंशिक सामान
जाहिर है, आप शायद उपयोगकर्ताओं के प्रदर्शन और प्रिंट के लिए पूरी तरह से अलग प्रतिपादन चाहते हैं - मुझे लगता है कि आप शायद jQuery की भलाई को छिपाने और सामान प्रदर्शित करने में काफी कुछ जोड़ रहे हैं, कि आप वास्तव में मुद्रित पर प्रदर्शित होने जा रहे हैं संस्करण, तो आप शायद दो अलग उपयोगकर्ता नियंत्रण चाहते हैं, और फिर IsPrintable संपत्ति में गुजरने के साथ दूर हो सकते हैं।
इसके अलावा, जैसा कि यह खड़ा है, यह अंत में एक खाली पृष्ठ प्रिंट करेगा, सभी divs पर "पेज-ब्रेक-आफ्टर" शैली के कारण - आप शायद यह ध्यान रखना चाहते हैं कि आप अंतिम div पर हैं , और उस पर एक अलग शैली है, जब तक कि आपके पास उस अंतिम पृष्ठ पर जानकारी न हो।
मैंने इसे पोस्ट करने के बाद, मुझे यकीन नहीं था कि मुझे अभी अपना पिछला उत्तर संपादित करना चाहिए था, http://stackoverflow.com/questions/361802/is-it-ok-to-post-multiple-answers-to-a -वेस्टियन वास्तव में स्पष्ट नहीं किया था। यदि लोग ऑब्जेक्ट करते हैं, तो मुझे उन्हें गठबंधन करने और इसे हटाने में खुशी होगी। –
मैंने अपने +1 को अपने अन्य उत्तर से हटा दिया है ताकि आप इसे हटा सकें और इसे रख सकें। मैंने अन्य कारणों के लिए निर्णय लिया है कि मैं तर्क तय करना चाहता हूं कि नियंत्रक में प्रतिलिपि कौन लेती है। इसलिए यह जवाब मुझे जो चाहिए वह बहुत करीब है। धन्यवाद। ;) – AnthonyWJones
आप इसे आजमा सकते हैं: $ ('प्रिंट करने योग्य: अंतिम-बच्चा')। सीएसएस ('पृष्ठ-ब्रेक-आफ्टर', 'से बचें'); डुनो अगर संपत्ति पृष्ठ-ब्रेक-बाद होगी। –