asp.net如何生成静态HTML?

严志 2013-12-20 11:46:18
本人想做一个类似网易首页新闻分类的CMS系统,现有疑问如下:
1. 每一则新闻的内容应该是从后台添加的吧,如果是,前台从数据库中读取最新数据后如何按照格式显示?
比如文字换行,照片、视频编辑等等。
2. 在asp.net后台管理程序中添加一则新闻后,怎么生成对应的html。
如果有源码的请给个链接或者发到本人邮箱:freshairyz25@163.com,谢谢!
...全文
493 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
严志 2013-12-22
  • 打赏
  • 举报
回复
引用 15 楼 Chinajiyong 的回复:
那你直接找个cms来用就行了,成熟的也比较多,像国外用的比较多的sitefinity
想自己学着开发一个,锻炼下。
严志 2013-12-22
  • 打赏
  • 举报
回复
引用 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 属性赋值,这就行了。[/quote] 辛苦回复了,你说的这两个文件类似html模板文件吧?然后将添加的内容替换掉模板里的,形成新的html文件,但是如果文章比较长,文字全部会堆积在一起,怎么编辑成格式良好的文档。
EnForGrass 2013-12-22
  • 打赏
  • 举报
回复
那你直接找个cms来用就行了,成熟的也比较多,像国外用的比较多的sitefinity
严志 2013-12-21
  • 打赏
  • 举报
回复
引用 1 楼 KarasCanvas 的回复:
已发,请结账
没有收到啊?
严志 2013-12-21
  • 打赏
  • 举报
回复
如果有做过的能否详细讲解下啊?
沐沐坏小孩 2013-12-21
  • 打赏
  • 举报
回复
楼主可以考虑采用ajax来做。
严志 2013-12-21
  • 打赏
  • 举报
回复
引用 13 楼 sp1234 的回复:
而对于第 2 个问题,我觉得超出你的能力范围。你现在学会给 aspx 写个页面缓存语句即可!
多谢指点。
  • 打赏
  • 举报
回复
而对于第 2 个问题,我觉得超出你的能力范围。你现在学会给 aspx 写个页面缓存语句即可!
  • 打赏
  • 举报
回复
引用 楼主 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 内容而下载的,而不会是 Ajax 方式添加的。 凡是必须进行 seo 的内容,都不要使用 Ajax。
严志 2013-12-21
  • 打赏
  • 举报
回复
有没有代码啊?有的提供一份来研究啊?
  • 打赏
  • 举报
回复
看起来想html可以么 url重写+模版 这样可以把后缀改成 你想要的任何形式 html xml asp asp.net aspx 等等
引用 2 楼 u012967703 的回复:
楼主可以考虑采用ajax来做。
这个照片貌似在哪里见过
Im_Sorry 2013-12-21
  • 打赏
  • 举报
回复
引用 楼主 oYanzhi 的回复:
本人想做一个类似网易首页新闻分类的CMS系统,现有疑问如下: 1. 每一则新闻的内容应该是从后台添加的吧,如果是,前台从数据库中读取最新数据后如何按照格式显示? 比如文字换行,照片、视频编辑等等。 2. 在asp.net后台管理程序中添加一则新闻后,怎么生成对应的html。 如果有源码的请给个链接或者发到本人邮箱:freshairyz25@163.com,谢谢!
生成HTML去网上搜索下,一大堆,然后发布新闻的时候,生成静态页,前提有一个静态模版, 生成后,把你的静态页路径存入数据库! 前台读取用ajax 返回JSON来做! 大概就这样!
帅得_被人砍 2013-12-21
  • 打赏
  • 举报
回复
IIS上进行安装伪静态组件
wuyq11 2013-12-21
  • 打赏
  • 举报
回复
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; }
种草德鲁伊 2013-12-20
  • 打赏
  • 举报
回复
已发,请结账

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧