ASP.NET dynamically generate HTML pages

zhaozj2021-02-16  66

Recently studied a news system, found information about ASP.NET to generate HTML

Idea 1. Use tools such as DW-MX to generate templates, add special tags (such as $ HTMLFORMAT $) where you need to add formats (such as $ HTMLFORMAT $), dynamically generate files to read this template, then get the contents of the front desk input In the tag location added to this template, when the new file name is generated, the disk is written, and the related data is written to the database after writing. 2. Use the background code hard to encode the HTML file, you can use the HTMLTextWriter class to write the HTML file. Advantages 1. You can create a very complex page that uses methods containing JS files, adding the document.write () method in the JS file, you can add content such as page, advertisement, etc. in all pages. 2. Static HTML file Use the MS Windows2000 INDEX Server to establish a full-text search engine, using ASP.NET to get search results in a DataTable method. The Win2000's INDEX service cannot find the content of the XML file. This search feature will be very powerful if the database search is included with the INDEX index. 3. Save the server's load, request a static HTML file to save a lot than an ASPX file server resource. Disadvantages II: If you use hard coding, the workload is very large, you need a lot of HTML code. Difficulties in debugging. Moreover, the HTML style generated by hardcod cannot be modified. If the site is replaced, then you must re-encode, bringing huge effort to the later period.

So this is the first idea of ​​the first idea. 1. Definition (Template.htm) HTML Template page </ title> <meta http-equiv = "content-type" content = " TEXT / HTML; Charset = GB2312 "> </ head> <body> <table $ htmlformat [0] height =" 100% "border =" 0 "width =" 100% "cellpadding =" 10 "cellspacing =" 0 " Bgcolor = "# eeeeee" style = "border: 1px solid # 000000> <tr> <td width =" 100% "valign =" middle "align =" left "> <span style =" Color: $ htmlformat [1 ]; Font-size: $ htmlformat [2]> $ htmlformat [3] </ span> </ td> </ tr> </ table> </ body> </ html> 2.asp.net code: / / --------------------- Read the HTML template page to the StringBuilder object ---- String [] format = new string [4]; // Definition and HTMLYEM The number of marks consistent array stringbuilder htmltext = new stringbuilder (); try {using (streamreader sr = new streamreader ("Path and page name of the template page")) {String line; "()) ! = null) {htmlText.Append (line);} sr.close ();}} catch {response.write ("<script>) </ script>");} // --------------------- Give the marker array ---------- Format [0] = "Background = /" bg.jpg / ""; // Background picture format [1] = "# 990099"; // font color Format [2] = "150px"; // word Physique format [3] = "<marquee> generated template HTML page </ marquee>"; // Text Description // ---------- Replace the tag in HTM as you want to add content for (INT i = 0; i <4; i ) {htmltext.replace ("$ HTMLFORMAT [" i "]", format [i]);} // --------- Generate HTM files -------------------- Try {USING (streamwriter sw = new streamwriter ("Storage Path and Page Name", False, System.Text.Encoding.Getencoding.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-21031.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="21031" 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.039</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 = '3dz56nAGCz0K6FszVg29J8rjTo_2FRre2OpaKlXw89NRnpwMqBZQIir4apEUdxE8zzO8QvXmRbUHPiEvpgZqTU1w_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>