怎样把这个页面保存为静态页面?静态页面包含从数据库里面读取出来的数据。
<body>
    <form id="form1" runat="server">
    <div>
    <ul> 
<asp:Repeater id="Repeater1" runat="server"> 
<ItemTemplate>     <li><a onclick="headTextBG(); "  href="<%#Eval("url")%>" target="left"  title=""><span><%#Eval("span")%></span></a></li>
</ItemTemplate> 
</asp:Repeater> 
</ul>
    </div>
    </form>
</body>

解决方案 »

  1.   

    我也想把.NET保存成 .HTML啊。。嘻嘻,但是怎么做,我也不知道
      

  2.   

    WebClient Client = new WebClient();
    Stream stm = Client.OpenRead(tempsrc.Text+"?pagenum="+i.ToString());
    StreamReader sr = new StreamReader(stm, Encoding.GetEncoding("gb2312"));
    tmphtml=sr.ReadToEnd();
    sr.Close();
    stm.Close(); if(i>1)
    tmpurl=HomeName.Text.Trim().Replace("/","\\").Replace("PageNum",i.ToString());
    else
    tmpurl=HomeName.Text.Trim().Replace("/","\\").Replace("_PageNum","");
    writer=new StreamWriter(wwwpath+tmpurl,false,Encoding.GetEncoding("gb2312"));
    writer.WriteLine(tmphtml);
    writer.Close();
      

  3.   


    就是把菜单读取出来,然后保存成静态页面    <ul> 
         <li><a onclick="headTextBG(); "  href="aa.htm" target="left"  title=""><span>AASDF</span></a></li>
         <li><a onclick="headTextBG(); "  href="aa.htm" target="left"  title=""><span>ASDFGG</span></a></li>
        <li><a onclick="headTextBG(); "  href="aa.htm" target="left"  title=""><span>ASDGASG</span></a></li>
     
        <li><a onclick="headTextBG(); "  href="aa.htm" target="left"  title=""><span>ERTWER</span></a></li>
        
    </ul>
        
        
      

  4.   

    这段代码怎么用。读取的是那个文件?保存在那个位置?
    WebClient Client = new WebClient(); 
    Stream stm = Client.OpenRead(tempsrc.Text+"?pagenum="+i.ToString()); 
    StreamReader sr = new StreamReader(stm, Encoding.GetEncoding("gb2312")); 
    tmphtml=sr.ReadToEnd(); 
    sr.Close(); 
    stm.Close(); if(i>1) 
    tmpurl=HomeName.Text.Trim().Replace("/","\\").Replace("PageNum",i.ToString()); 
    else 
    tmpurl=HomeName.Text.Trim().Replace("/","\\").Replace("_Pag…
      

  5.   

    .net转静态页是要看条件的
    页面中不能有ascx控件,否则控件将失效
    页面中不能有与服务器交互的咚咚,否则不法交互
    满足以上条件(如有遗漏,请补充)首先 <asp:Repeater id="Repeater1" runat="server"> 就不能存在
      

  6.   

    编译后不是会生成HTML吗?
    你COPY HTML源码,重新在建个HTML页面复制进去不就可以了
    在保持
      

  7.   

    还有一种方法就是用CMS去生成静态的HTML。
      

  8.   

    以前见过CSDN上有人分享相关的源码,只是没有试过。
      

  9.   

    Stream fs = File.Open("E://NET//C#//Try//StaticTry//WebUI//Pages//" + id + "", FileMode.Open);
              StreamReader sr = new StreamReader(fs);
    string st = sr.ReadToEnd();//打开文件,把文件做成流.  String path = HttpContext.Current.Server.MapPath("~/Pages/") +id;
            StreamWriter sw = new StreamWriter(path, true, System.Text.Encoding.GetEncoding("UTF-8"));
            sw.Write(st);将文件写入
      

  10.   

    实际上,你的页面可以使用母版、使用数据绑定控件、使用各种自定义控件、使用theme等等,那种说你不能这不能那的,基本上是为了推销“字符串替换”做法的。例如帖子http://topic.csdn.net/u/20081016/13/20EB3087-2E11-4DB5-8DD3-70E3222FFD23.html中所反映的许多。我给你写一个demo,在你的网站下创建一个aspx文件,把下面的代码拷贝进去,然后直接从浏览器上浏览这个页面:<%@ Page Language="C#" %><%@ Import Namespace="System.IO" %><script runat="server">
        protected void Button1_Click(object sender, EventArgs e)
        {
            StringWriter wr = new StringWriter();
            Server.Execute(this.TextBox1.Text, wr);     //你可以使用第三个参数传递页面的更多初始数据
            this.Label1.Text = Server.HtmlEncode(wr.ToString());
            File.WriteAllText(Server.MapPath(this.TextBox2.Text), wr.ToString());
        }
    </script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>演示取得网站中其它网页的源代码只需要两行代码就够了</title>
    </head>
    <body>
        <form id="form1" runat="server" defaultbutton="Button1">
        <div>
            请输入本网站的页面名称:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            请输入目标文件名称<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><hr />
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </div>
        </form>
    </body>
    </html>