当前位置:编程学习 > C#/ASP.NET >>

asp.net如何生成静态HTML?

本人想做一个类似网易首页新闻分类的CMS系统,现有疑问如下:
1. 每一则新闻的内容应该是从后台添加的吧,如果是,前台从数据库中读取最新数据后如何按照格式显示?
   比如文字换行,照片、视频编辑等等。
2. 在asp.net后台管理程序中添加一则新闻后,怎么生成对应的html。
如果有源码的请给个链接或者发到本人邮箱:freshairyz25@163.com,谢谢! --------------------编程问答-------------------- 已发,请结账 --------------------编程问答-------------------- 楼主可以考虑采用ajax来做。 --------------------编程问答-------------------- 如果有做过的能否详细讲解下啊? --------------------编程问答--------------------
引用 1 楼 KarasCanvas 的回复:
已发,请结账

没有收到啊? --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 楼主 oYanzhi 的回复:
本人想做一个类似网易首页新闻分类的CMS系统,现有疑问如下:
1. 每一则新闻的内容应该是从后台添加的吧,如果是,前台从数据库中读取最新数据后如何按照格式显示?
   比如文字换行,照片、视频编辑等等。
2. 在asp.net后台管理程序中添加一则新闻后,怎么生成对应的html。
如果有源码的请给个链接或者发到本人邮箱:freshairyz25@163.com,谢谢!


生成HTML去网上搜索下,一大堆,然后发布新闻的时候,生成静态页,前提有一个静态模版,

生成后,把你的静态页路径存入数据库!

前台读取用ajax 返回JSON来做!

大概就这样! --------------------编程问答-------------------- 看起来想html可以么  url重写+模版  这样可以把后缀改成 你想要的任何形式 html xml asp asp.net aspx 等等

引用 2 楼 u012967703 的回复:
楼主可以考虑采用ajax来做。

这个照片貌似在哪里见过 --------------------编程问答-------------------- asp.net mvc中设置 routes.MapRoute
或使用模版替换如
  public static bool CreatHtmlPage(string[] aryParam, string[] aryValue, string strFilePath, string outFilePath)
        {
            bool flag = false;

            StreamReader ReaderFile = null;
            StreamWriter WriteFile = null;
            Encoding Code = Encoding.GetEncoding("gb2312");
            string strFile = string.Empty;
            try
            {
                ReaderFile = new StreamReader(strFilePath, Code);
                strFile = ReaderFile.ReadToEnd();
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.Write(ex.Message);
                HttpContext.Current.Response.End();
            }
            finally
            {
                ReaderFile.Close();
            }

            //替换模板中的参数并且输出静态页面
            try
            {
                int iLength = aryValue.Length;
                for (int i = 0; i < iLength; i++)
                {
                    strFile = strFile.Replace(aryParam[i], aryValue[i]);
                }
                if (File.Exists(outFilePath))
                    File.Delete(outFilePath);
                WriteFile = new StreamWriter(outFilePath, true, Code);
                WriteFile.Write(strFile);
                WriteFile.Flush();
                flag = true;
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.Write(ex.Message);
                HttpContext.Current.Response.End();
            }
            finally
            {
                WriteFile.Flush();
                WriteFile.Close();
            }

            return flag;
        } --------------------编程问答-------------------- IIS上进行安装伪静态组件 --------------------编程问答-------------------- 有没有代码啊?有的提供一份来研究啊? --------------------编程问答-------------------- 当打开一篇新闻内容页时,新闻内容肯定是随着 html 内容而下载的,而不会是 Ajax 方式添加的。

凡是必须进行 seo 的内容,都不要使用 Ajax。 --------------------编程问答--------------------
引用 楼主 oYanzhi 的回复:
本人想做一个类似网易首页新闻分类的CMS系统,现有疑问如下:
1. 每一则新闻的内容应该是从后台添加的吧,如果是,前台从数据库中读取最新数据后如何按照格式显示?
   比如文字换行,照片、视频编辑等等。
2. 在asp.net后台管理程序中添加一则新闻后,怎么生成对应的html。
如果有源码的请给个链接或者发到本人邮箱:freshairyz25@163.com,谢谢!


这种东西我觉得只能跟你说个基本原理就够了。

比如说你可以弄几个文本文件,例如a.txt中写
<div class="detail_title">
  <h1>
      <span class="title text_overflow">asp.net如何生成静态HTML?</span>
    <span>
      [问题点数:80分]
    </span>
  </h1>
  <div class="fr">
    <select name="filter_posts">
      <option value="default">不显示删除回复</option>
      <option value="all">显示所有回复</option>
      <option value="star">显示星级回复</option>
      <option value="pointed">显示得分回复</option>
      <option value="lz">只显示楼主</option>
    </select>
    <a href="http://my.csdn.net/my/favorite/miniadd?u=http://bbs.csdn.net/topics/390674917&t=asp.net%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90%E9%9D%99%E6%80%81HTML?" id="fav" class="fav" rel='nofollow'><img src="/assets/nolines_plus.gif" alt="" />收藏</a>
  </div>
</div>


而 b.txt 中写
<table border="0" cellspacing="0" cellpadding="0" id="post-396396732" class="post  " data-post-id="396396732" data-is-topic-locked="false">
  <colgroup><col width="180" /><col /></colgroup>
  <tr>
      <td rowspan="2" valign="top" class="wirter">
                <dl class="user_info ">
          <dt class="user_head" data-username="oYanzhi">
            <a href="http://my.csdn.net/oYanzhi" target="_blank"><img alt="oYanzhi" class="avatar" src="http://avatar.csdn.net/8/1/6/1_oyanzhi.jpg" /></a>
          </dt>
          <dd class="username">
            <a href="http://my.csdn.net/oYanzhi" target="_blank">oYanzhi</a>
            
          </dd>
          <dd class="nickname">
            <span class="name2nick">oYanzhi</span>
          </dd>
          <dd title="总技术分:0;总技术排名:6679675">等级:<img alt="Blank" class="grade user1" src="/assets/blank.gif" /></dd>
          <dd class="close_rate" title="用户结帖率:80%
总发帖:5
正常结帖:4
未结帖:1">结帖率:80%</dd>
          
        </dl>

      </td>
      <td valign="top" class="post_info " data-username="oYanzhi" data-floor="10">
                <div class="data">
            <span class="fr">
              <a href="#post-396396732">#10</a>
              得分:0
            </span>
          <span class="time">
              回复于:
            2013-12-21 21:30:40
          </span>
        </div>
        <div class="post_body">
            有没有代码啊?有的提供一份来研究啊?
        </div>

      </td>
    </tr>
    <tr>
      <td valign="bottom">
          <div class="control">
    <div id='post-forum-bulletin-10'  class='fl tracking-ad' data-mod='popu_9'>
    </div>
  <div class="fr">
      <a href="/posts/396396732/digg?topic_id=390674917" class="red digg" data-method="put" data-remote="true" rel="nofollow">对我有用[0]</a>
      <a href="/posts/396396732/bury?topic_id=390674917" class="bury" data-method="put" data-remote="true" rel="nofollow">丢个板砖[0]</a>
      <a href="#quote" class="quote">引用</a> |
      <a href="/posts/396396732/report?topic_id=390674917" class="fancybox red" rel="nofollow">举报 </a> |
    <span class="manage-toggle">
      <div class="manage" style="display: none;">
          <a href="/posts/396396732/edit" class="fancybox" rel="nofollow">编辑</a>
          <a href="/posts/396396732/destroy_edit" class="fancybox" rel="nofollow">删除</a>
      </div>
      管理
    </span>
  </div>
</div>

      </td>
  </tr>
</table>


然后你的所谓“后台”aspx程序动态地读取任一个文本文件并且给一个 Label 控件的 Text 属性赋值,这就行了。 --------------------编程问答-------------------- 而对于第 2 个问题,我觉得超出你的能力范围。你现在学会给 aspx 写个页面缓存语句即可! --------------------编程问答--------------------
引用 13 楼 sp1234 的回复:
而对于第 2 个问题,我觉得超出你的能力范围。你现在学会给 aspx 写个页面缓存语句即可!


多谢指点。
--------------------编程问答-------------------- 那你直接找个cms来用就行了,成熟的也比较多,像国外用的比较多的sitefinity --------------------编程问答--------------------
引用 12 楼 sp1234 的回复:
Quote: 引用 楼主 oYanzhi 的回复:

本人想做一个类似网易首页新闻分类的CMS系统,现有疑问如下:
1. 每一则新闻的内容应该是从后台添加的吧,如果是,前台从数据库中读取最新数据后如何按照格式显示?
   比如文字换行,照片、视频编辑等等。
2. 在asp.net后台管理程序中添加一则新闻后,怎么生成对应的html。
如果有源码的请给个链接或者发到本人邮箱:freshairyz25@163.com,谢谢!


这种东西我觉得只能跟你说个基本原理就够了。

比如说你可以弄几个文本文件,例如a.txt中写
<div class="detail_title">
  <h1>
      <span class="title text_overflow">asp.net如何生成静态HTML?</span>
    <span>
      [问题点数:80分]
    </span>
  </h1>
  <div class="fr">
    <select name="filter_posts">
      <option value="default">不显示删除回复</option>
      <option value="all">显示所有回复</option>
      <option value="star">显示星级回复</option>
      <option value="pointed">显示得分回复</option>
      <option value="lz">只显示楼主</option>
    </select>
    <a href="http://my.csdn.net/my/favorite/miniadd?u=http://bbs.csdn.net/topics/390674917&t=asp.net%E5%A6%82%E4%BD%95%E7%94%9F%E6%88%90%E9%9D%99%E6%80%81HTML?" id="fav" class="fav" rel='nofollow'><img src="/assets/nolines_plus.gif" alt="" />收藏</a>
  </div>
</div>


而 b.txt 中写
<table border="0" cellspacing="0" cellpadding="0" id="post-396396732" class="post  " data-post-id="396396732" data-is-topic-locked="false">
  <colgroup><col width="180" /><col /></colgroup>
  <tr>
      <td rowspan="2" valign="top" class="wirter">
                <dl class="user_info ">
          <dt class="user_head" data-username="oYanzhi">
            <a href="http://my.csdn.net/oYanzhi" target="_blank"><img alt="oYanzhi" class="avatar" src="http://avatar.csdn.net/8/1/6/1_oyanzhi.jpg" /></a>
          </dt>
          <dd class="username">
            <a href="http://my.csdn.net/oYanzhi" target="_blank">oYanzhi</a>
            
          </dd>
          <dd class="nickname">
            <span class="name2nick">oYanzhi</span>
          </dd>
          <dd title="总技术分:0;总技术排名:6679675">等级:<img alt="Blank" class="grade user1" src="/assets/blank.gif" /></dd>
          <dd class="close_rate" title="用户结帖率:80%
总发帖:5
正常结帖:4
未结帖:1">结帖率:80%</dd>
          
        </dl>

      </td>
      <td valign="top" class="post_info " data-username="oYanzhi" data-floor="10">
                <div class="data">
            <span class="fr">
              <a href="#post-396396732">#10</a>
              得分:0
            </span>
          <span class="time">
              回复于:
            2013-12-21 21:30:40
          </span>
        </div>
        <div class="post_body">
            有没有代码啊?有的提供一份来研究啊?
        </div>

      </td>
    </tr>
    <tr>
      <td valign="bottom">
          <div class="control">
    <div id='post-forum-bulletin-10'  class='fl tracking-ad' data-mod='popu_9'>
    </div>
  <div class="fr">
      <a href="/posts/396396732/digg?topic_id=390674917" class="red digg" data-method="put" data-remote="true" rel="nofollow">对我有用[0]</a>
      <a href="/posts/396396732/bury?topic_id=390674917" class="bury" data-method="put" data-remote="true" rel="nofollow">丢个板砖[0]</a>
      <a href="#quote" class="quote">引用</a> |
      <a href="/posts/396396732/report?topic_id=390674917" class="fancybox red" rel="nofollow">举报 </a> |
    <span class="manage-toggle">
      <div class="manage" style="display: none;">
          <a href="/posts/396396732/edit" class="fancybox" rel="nofollow">编辑</a>
          <a href="/posts/396396732/destroy_edit" class="fancybox" rel="nofollow">删除</a>
      </div>
      管理
    </span>
  </div>
</div>

      </td>
  </tr>
</table>


然后你的所谓“后台”aspx程序动态地读取任一个文本文件并且给一个 Label 控件的 Text 属性赋值,这就行了。


辛苦回复了,你说的这两个文件类似html模板文件吧?然后将添加的内容替换掉模板里的,形成新的html文件,但是如果文章比较长,文字全部会堆积在一起,怎么编辑成格式良好的文档。 --------------------编程问答--------------------
引用 15 楼 Chinajiyong 的回复:
那你直接找个cms来用就行了,成熟的也比较多,像国外用的比较多的sitefinity


想自己学着开发一个,锻炼下。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,