如何把.aspx的页面转变成html页面?
我用asp.net写了一个网站程序,也已经上传到网上,但是,首页是.aspx页面,如何才能把他转换称静态的html?
据说有两种方式:
一:在上传网站时,所买的服务器可能有这一功能,可以转换?
二:在编写代码的时候,通过asp.net技术转换?
不知道是否如此?请高手赐教!
高分奖励!

解决方案 »

  1.   

    一般这种技术是叫做,使用页面模板动态生成HTML静态页面的方法。
      

  2.   

    使用页面模板动态生成HTML静态页面的方法。
      

  3.   

    如果你首页的内容本身是不断变化的,你需要转成HTML么?
    如果你首页的内容是不变的,你需要写成ASPX么?
      

  4.   

    url重写是否满足?具体要看服务器是否支持。
      

  5.   

    通过html模板或UrlRewriter.dll 重写
    http://www.cnblogs.com/adandelion/archive/2007/07/29/835078.html
    http://www.cnblogs.com/csharpsharper/articles/546134.html
      

  6.   

    首页的内容完全是变化的,首页的信息来自数据库!
    用到了sqldatasource。
      

  7.   

    首页的内容完全是变化的,首页的信息来自数据库!
    用到了sqldatasource。
      

  8.   


    既是变化的, 用.aspx文件又何妨??
      

  9.   


    可以用服务器 处理伪静态,也可以用上面说的UrlRewriter
    但是要完美的效果 可能就要双管其下啦。
      

  10.   


    静态页面有利于SEO,
    另外,我做的是企业网站,我看他们的首页都是。html,但是后台程序明显是。aspx
    一个静态页面的效果是要好多了的
    再者,现在也是在学习,如果能够知道这种处理的方法,多学点知识,岂不是更好?
      

  11.   

    我找到了一个URLRewriter.dll文件,并且把它也放在了bin目录下;
    配置文件怎么写呢?
        <httpHandlers>
          <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
          <add verb="*" path="*.aspx" 
            type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
          <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />    </httpHandlers>
        
      
        <RewriterConfig>
          <Rules>
            <!-- Rules for Blog Content Displayer -->
            <RewriterRule>
              <LookFor>~/(.[0-9]*)\.html </LookFor>
              <SendTo>~/ArticleDetail.aspx?MyID=$1 </SendTo>
              <RewriterRule>
                <LookFor>~/Products/Default\.aspx</LookFor>
                <SendTo>~/ListCategories.aspx</SendTo>
              </RewriterRule>
              <RewriterRule>
                <LookFor>~/Products/Beverages_(\d{1,4})\.aspx</LookFor>
                <SendTo>~/ListProductsByCategory.aspx?CategoryID=$1</SendTo>
              </RewriterRule>
            </RewriterRule>
          </Rules>
        </RewriterConfig>

    我加入下列代码,运行时会报错:分析器错误信息: 无法识别的配置节 system.web/RewriterConfig
    请问下,这是怎么一回事呢?
    我配置文件是这样的,大家看看是否有错误:-------------------以下是配置文件 web.config的内容
    <?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">  <configSections>
        <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
      </configSections>
    <appSettings>
    <add key="ServerIP" value="127.0.0.1"/>
    <add key="debug" value="trde"/>
    </appSettings>
    <connectionStrings>
    <add name="DBPath" connectionString="~/App_Data/Web.mdb"/>
    <!--数据库路径,前面的~必须保留-->
    </connectionStrings>
        
    <system.web>
        <httpHandlers>
          <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
          <add verb="*" path="*.aspx" 
            type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
          <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />    </httpHandlers>
        
      
        <RewriterConfig>
          <Rules>
            <!-- Rules for Blog Content Displayer -->
            <RewriterRule>
              <LookFor>~/(.[0-9]*)\.html </LookFor>
              <SendTo>~/ArticleDetail.aspx?MyID=$1 </SendTo>
              <RewriterRule>
                <LookFor>~/Products/Default\.aspx</LookFor>
                <SendTo>~/ListCategories.aspx</SendTo>
              </RewriterRule>
              <RewriterRule>
                <LookFor>~/Products/Beverages_(\d{1,4})\.aspx</LookFor>
                <SendTo>~/ListProductsByCategory.aspx?CategoryID=$1</SendTo>
              </RewriterRule>
            </RewriterRule>
          </Rules>
        </RewriterConfig>
    <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
    <compilation debug="true">
    <assemblies>
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
    <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->
    <authentication mode="Windows"/>
    <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
    <customErrors mode="Off" defaultRedirect="NoAccess.htm">
    <error statusCode="403" redirect="NoAccess.htm"/>
    <error statusCode="404" redirect="FileNotFound.htm"/>
    </customErrors>
    <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
    <pages validateRequest="false"/>
    </system.web>
    </configuration>
    -----------------------
      

  12.   

    我找了一个...http://msdn.microsoft.com/zh-cn/library/ms972974.aspx
      

  13.   

    这是我用的,你可以参考下:<?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration>
      <configSections>
        <section name="urlrewritingnet"  
     requirePermission ="false" 
     type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"  />
      </configSections>  
      <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage = "default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
        <rewrites>
          
          <add name="Rewrite1"  virtualUrl="^~/Detail(.*).html"            
     rewriteUrlParameter="ExcludeFromClientQueryString" 
     destinationUrl="~/GoodsDetail.aspx?GoodsID=$1"
     ignoreCase="true" />
          
          <add name="Rewrite2"  virtualUrl="^~/Type(.*).html"            
     rewriteUrlParameter="ExcludeFromClientQueryString" 
     destinationUrl="~/GoodsList.aspx?TypeID=$1"
     ignoreCase="true" />
        </rewrites>
      </urlrewritingnet>
      
      
      <appSettings>
        <add key="ConnectionString" value="Server=xxx;DataBase=db_xxx;User Id=sa;pwd=sa"/>
      </appSettings>
      <system.web>
        <httpModules>
          <add name="UrlRewriteModule" 
             type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
        </httpModules>
        <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
    <compilation debug="true"/>
    <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->
    <authentication mode="Windows"/>
    <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
      </system.web>
    </configuration>
      

  14.   

    UrlRewriter.dll也是HttpHandler和HttpMoudle技术实现的!
    楼主学一下asp。net请求响应模型吧(好像关键字是这个)哈哈!
      

  15.   

      既然数据是从数据库中提取的, 那又如何用 静态 HTML 来代替咧 ???
      不过也不是没有办法 , 用 Ajax 应该可以做到 !!
      

  16.   

    url重写就可以了。不过没多大意义,除非你想提升SEO
      

  17.   

    就是为了seo
    该如何重写呢?
      

  18.   

    ======================
    要提高SEO,不全部依赖于伪静态。也要设置页面的关键字密度。另外也可考虑生成静态页面方法。
    URL重写的例子太多了。我是习惯用Intelligencia.UrlRewriter.dll这个进行生成的。可自己查阅下使用案例