一个免费的邮件列表源程序(二)

  • 来源: 互联网 作者: 若水   2008-03-17/13:25
  • ShowSource.asp
    <%@ Language=JavaScript %>

    <!--#include file = "include/SetGlobals.asp"-->

    <%
    // get the page to display from the URL
    var sPage = "" + Request.QueryString ( "page" );

    // make sure it's a page we allow them to view!
    switch ( sPage )
    {
    case "Wider":
    case "COM":
    case "Handle404":
    case "Categories":
    case "CategoryPage":
    case "Columns":
    case "ResultsPage":
    case "Date":
    case "Contact":
    case "Subscribe":
    case "MailToList":
       break;

    default:
       Response.Redirect ( "NaughtyNaughty!" );
    }

    // output relevant meta tags
    Init( "ASP source example" );

    // output common top of page
    Header( '<a href="work.asp">Work</a> --> <a href="' + sPage + '.asp">"' + sPage + '.asp"</a> --> Source', 3 );

    // output page content
    Content ( );

    // output common bottom of page
    Footer ( );
    %>

    <% /* standard page elements */ %>
    <!--#include file = "utils/Init.asp"-->
    <!--#include file = "utils/Header.asp"-->
    <!--#include file = "utils/Footer.asp"-->
    <!--#include file = "utils/ShowFile.asp"-->

    <%
    // ============================================
    // the content of this page
    // ============================================
    function Content ( )
    {
       Out ( '<td width="20%">&nbsp;</td>' );
       Out ( '<td width="60%">' );

          // create handle to FileSystemObject
          var oFSO = Server.CreateObject ( 'Scripting.FileSystemObject' );

          // each source file that we show source for could have a related
          // documentation file for us to display before and after the
          // source. for now, I use a generic header and footer file. the
          // 'true' tells ShowFile to pass through any HTML to the browser.

          ShowFile ( oFSO, 'Generic.pre', true, false );

          switch ( sPage )
          {
          case "Categories":
          case "CategoryPage":
          case "Columns":
             Out ( '<p><img src="images/new.gif">&nbsp;<a href="Categories.zip">Download</a> all the source for the category demonstration!<p>' );
             break;
          }

          ShowSource ( oFSO, sPage + '.asp', true );

          // show any extra utility file(s) too
          switch ( sPage )
          {
          case "Wider":
             ShowSource ( oFSO, 'include/SetGlobals.asp', true );
             ShowSource ( oFSO, 'utils/Header.asp', true );
             break;

          case "Categories":
          case "CategoryPage":
          case "Columns":
          case "Subscribe":
          case "MailToList":
             ShowSource ( oFSO, 'utils/Database.asp', true );
             break;

          case "Categories":
          case "CategoryPage":
          case "Columns":
             ShowSource ( oFSO, 'utils/ShowCategory.asp', true );
             break;
          }

          // show the generic footer
          ShowFile ( oFSO, 'Generic.pst', true, false ); #p#分页标题#e#

          // we've finished with the object so free the resource
          oFSO = null;

          Out ( '<p><center><a href="FSO.asp"><img src="images/source.gif" border=0></a></center>' );

       Out ( '</td>' );
       Out ( '<td width="20%">&nbsp;</td>' );
    }
    %>
         
    utils/ShowFile.asp
    <%
    // have we advertized our mailing list yet?
    var bDoneLink = false;

    // ============================================
    // display the contents of the given file
    // ============================================
    function ShowFile ( oFSO, sFile, bPassHTML, bShowName )
    {
       var ForReading = 1;
       // var ForWriting = 2;
       // var ForAppending = 8;

       // open asp file for reading
       var fFile = oFSO.OpenTextFile ( Server.MapPath( sFile ), ForReading );

       // read entire file contents into variable
       var s = fFile.ReadAll ( );

       if ( !bPassHTML )
       {
          // replace & with &amp; so HTML displayed, not interpreted
          s = s.replace ( /&/g, '&amp;' );

          // replace < with &lt; so HTML displayed, not interpreted
          s = s.replace ( /</g, '&lt;' );

          // replace newline with HTML equivalent
          s = s.replace ( /\n/g, '<br>' );

          // replace tabs with 3 spaces
          s = s.replace ( /\t/g, '&nbsp;&nbsp;&nbsp;' );

          // show filename and change font color for source code
          s = '<font color="black">' + s + '</font>';

          if ( bShowName )
             s = '<h4>' + sFile + '</h4>' + s;
       }

       Out ( s );

       fFile.Close ( );
    }

    // ============================================
    // show a source file outside the table
    // ============================================
    function ShowSource ( oFSO, sFile, bShowName )
    {
       // advertize our mailing list before the first source file
       if ( !bDoneLink )
       {
          bDoneLink = true;
          Out ( '<p><b>Get informed when the source code below changes!</b> <a href="subscribe.asp">Subscribe to our mailing list.</a>' );
       }

       Out ( '</td>' );
       Out ( '<td width="20%">&nbsp;</td></tr><tr><td colspan=3 width="100%" bgcolor="#ff9900">' );

          // show news file
          ShowFile ( oFSO, sFile, false, bShowName );

       Out ( '</td></tr><tr><td width="20%">&nbsp;</td>' );
       Out ( '<td width="60%">' );
    }
    %>


     

     


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多