开发者社区> 阿里云小秘> 正文

怎么将aspx网站改为静态页面?

简介: 首先思路是在后台点击“生成静态页面” 转换为静态页面 protected void Button2_Click(object sender, EventArgs e) { DataSet ds = Getyuqian().
+关注继续查看

首先思路是在后台点击“生成静态页面” 转换为静态页面

protected void Button2_Click(object sender, EventArgs e)

{
    DataSet ds = Getyuqian().GetList(0, "", "Tdate desc");//取列表数据

    string str="";
    if (ds != null && ds.Tables[0].Rows.Count > 0)
    {
        for (int i=0; i < ds.Tables[0].Rows.Count-1; i++)//循环ID
        {

            str = ds.Tables[0].Rows[i]["id"].ToString();
            System.IO.StringWriter swHtml = new System.IO.StringWriter();
            Server.Execute("../../yuqiand.aspx?id="+str, swHtml);//获取该数据生成页面的html
            String file1 = str.Substring(0,5)+".html";//去ID前5位为页面名字,因为我把ID加密了比较长
            string contentStr = swHtml.ToString();

            string filePath = Server.MapPath("/");//获取网站本地的基目录
            if (!System.IO.Directory.Exists(filePath))
            {
                System.IO.Directory.CreateDirectory(filePath);
            }
            //如果存在该页面就删除
            foreach (string file in System.IO.Directory.GetFiles(filePath))
            {
                if (file.Substring(file.Length-10,10) == file1)
                {
                    File.Delete(file);
                }

            }
            filePath += file1;
            //按UTF-8导入,不然乱码
            System.IO.StreamWriter sWrite = new System.IO.StreamWriter(filePath, true, Encoding.GetEncoding("UTF-8"));
            sWrite.Write(contentStr);
            sWrite.Flush();
            sWrite.Close();
        }
    }
}

后来我想,添加数据和修改数据就自动生成页面了,那么,使用次数就比较多就些个类来调用把

调用页面:

    Boolean boolx = false;
    Helper.Tohtml htmlto = new Helper.Tohtml();
    boolx = htmlto.writehtml("../../zyd.aspx?id=", model.id.ToString());  
    if (boolx == true)
    {
     //   AlertResponse("发布成功!", "list_qy.aspx");
    }

类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.IO;
using System.Text;
using System.ComponentModel;

namespace Helper
{

/// <summary>
///html 的摘要说明
/// </summary>
public class Tohtml
{
    
 

    public  Boolean writehtml(string url,string str)
    {

        System.IO.StringWriter swHtml = new System.IO.StringWriter();
        HttpContext.Current.Server.Execute(url + str, swHtml);
       // System.Web.HttpUtility.HtmlEncode(url + str); 
        String file1 = str.Substring(0, 5) + ".html";
        string contentStr = swHtml.ToString();

        //string filePath = Server.MapPath("/");
        string filePath = HttpContext.Current.Server.MapPath("/");
        if (!System.IO.Directory.Exists(filePath))
        {
            System.IO.Directory.CreateDirectory(filePath);
        }
        //如果存在该页面就删除
        foreach (string file in System.IO.Directory.GetFiles(filePath))
        {
            if (file.Substring(file.Length - 10, 10) == file1)
            {
                File.Delete(file);
            }

        }
        filePath += file1;

        System.IO.StreamWriter sWrite = new System.IO.StreamWriter(filePath, true, Encoding.GetEncoding("UTF-8"));
        sWrite.Write(contentStr);
        sWrite.Flush();
        sWrite.Close();
        return true;
    }
}

}

OK,可以调用了,除了自己更改就不用点生成就OK了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
AngularDart部署为静态网页
AngularDart部署为静态网页 Dart编译为javascript
825 0
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
  一、伪静态的用处   有些用户觉得,伪静态和真静态实际被收录量会相差很大,其实不然,从你个人角度,你去判断一下一个帖子到底是真静态还是伪静态?估计很难看得出,因为所谓静态的意思,就是地址中不带问号,不带问号的就是静态,管他是真的还是伪的?搜索引擎看得出吗?所以说,其实不论是真的还是伪的,其实对于搜索引擎来说都是一样的,搜索引擎没有说,你这个是伪的,我不收录你。
1352 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19699 0
jsp文件的请求是如何被服务器的JSP容器转换成静态网页的
jsp文件的请求是如何被服务器的JSP容器转换成静态网页的
101 0
.net 中 前台aspx页面调用后台.cs文件中的变量
定义全局变量 在Page_load上面写 public string Url;     后台代码: public partial class WebForm2 : System.Web.
900 0
nginx部署多个静态页面
首先把你的html页面(或者其它格式)上传到服务器,随便建个目录 我这里目录是 /usr/development/static/pages
56 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
17989 0
Github Pages 静态网页建站
创建仓库 略。详见GitHub使用教程。 仓库属性设置 找Github Pages项。点击自动生成,按照提示操作,就会得到该项目的gh-pages 分支。 发布网站成功,地址为 http://chuchus9293.github.io/web2 。 目录下index.html页面作为该网站默认页面。 发布成功 当然也可以自己做HTML网站,通过Github 客户端上传代码
1814 0
【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS
地址: http://blog.csdn.net/hujkay作者:Jekkay Hu(34538980@qq.com)关键词:Windows,curl,ssl,  visual c++ 2005, libcurl, https,网页抓取时间: 2014/2/18 1.
874 0
+关注
阿里云小秘
从2005年起帮助客户搭建网站,有十多年网站搭建经验,长期使用并熟悉阿里云服务器、域名、云虚拟主机、云企业邮箱等产品。
289
文章
16
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载