ASP.NET dynamically generate HTML pages

xiaoxiao2021-03-06  63

Recently studied a news system to find information about ASP.NET to generate HTML 1. Use tools such as DW-MX to generate templates in HTML format, add special tags (such as $ htmlformat $), dynamics in places where you need to add formats ( When generating files, use the code to read this template, then get the contents of the front desk input, add the new file name, and write the disk after the new file name is generated, 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"; // Font Size Format [3] = "<Marquee> Generated Template HTML Page </ Marquee>"; // Text Description // --------- Replace the marks in the 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 ("</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-119154.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="119154" 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.059</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 = 'nO0qBlnc7TD1bRV_2BqR23C2fR_2FkkcqNayGc4Ll6ZYvB6NSK6qK5_2F5_2B8EQhfl7YTAvWu_2FwM6PMc_2BJT7Y8bqi90LA_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>