[MasterPages Practical Tips] Added the front-end control for the template 1 - Automatic generation page title

zhaozj2021-02-16  78

Previous time we have learned the basic method of use of MasterPages, but we will also find that such templates can not meet the requirements during the actual use. The question first encountered is the page title. For web forms using a template, how should its page title write? In general, the page title is specified by the HTML standard element Title tag, which exists within the HEAD tag. You can now only have a complete HTML tag in the template control, and other forms are just through masterpages "references" these public HTML elements. Then where should the page title should be written? The author first adds a Region in the template </ Title>, adds its own page title to the corresponding content of the form. Template code: <% @ register tagprefix = "mp" namespace = "microsoft.web.samples.masterpages" assembly = "masterpages"%> <html> <head> <title> <mp: region id = "regtitle" runat = "Server"> </ mp: region> </ title> </ head> <body> ... </ body> </ html> The result is found that MasterPages will not correct the contents of the regtitle as the page title. But at the beginning of the page results show a <div> tag containing the contents of the page title. The author guessing MASTERPAGES does not output Region in <head>, but defines Title in <body> obviously not legal HTML code. Then, you can define a client script function for setting the title in the template, and write this client script function in the background code of the template, and output the content of the Content of the Template in the form of the table. For this parameter, which is dynamically implemented as the function of the form output page title? The author adds a hidden Region in the <body> of the template because its corresponding Content does not need to be output to the page result.</p> <p><body> <mp: region id = "regtitle" runat = "server"> </ mp: region> ... </ body> Defines a client script of a set page title in <head>: <HEAD>: < Head> ... <script language = javascript> function settitle (title) {do *** ent.title = title;} </ script> </ head>, adding the following code in the template userControl's Page_Load Event method : If (Regtitle.Controls.count> 0) {system.web.ui.literalcontrol title = (system.web.ui.literalcontrol) regtitle.controls [0] .controls [0]; // masterpages will put content in Content The content is placed in LiteralControl into a panel, and this Panel is placed in Region this.Response.write ("<script language = javaScript> settitle ('" title.text ") </ script>");} The form of this template, adds ID = "regtitle" in its <MP: ContentContainer>, <MP: Content> Definition page title: <% @ register tagprefix = "mp" namespace = "Microsoft.Web.Samples.MasterPages "assembly =" masterpages "%> <mp: contentContainer runat =" server "masterpagefile =" ~ / template.ascx "id =" test "> <mp: content id =" regtitle "runat =" server "> TEST page title </ mp: content> <mp: content id = "regontent" runat = "server"> Form content test </ MP: Content> </ mp: ContentContainer> In the next article of MasterPages Practical Skills, you can understand another template front-end control technique based on masterpages - automatically generate the global client script of the page itself. I hope to help you, thank you!</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-11506.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="11506" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.062</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = '5UIT6xZzQ7xvo_2BwJdHzFkUdlIPYMnfZ2932Mj0DjLzY9kQg2P_2BqIoReOTEwP8f8mTOVmlvh7X_2BHPbFTo62KsyA_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>