悬赏分:100 浏览:251 次
知道shtml如何包含一个静态的文件,但是怎样才能包含一个aspx的文件呢?
我想做一个新闻板块,让新闻静态化成shml,然后包含一些动态页面,动态页面用来显示广告,评论等,但是我不想用ajax和iframe,这样对搜索引擎不友好,各位有什么好建议吗?
谢谢!
|
你可以这样做,让aspx在一定的时机生成静态文件,然后再有shtml包含这些生成的静态文件。这样效率会高一些,而且也可以避开你上面的问题,据我所知,很多cms都是这么做的。
注:一定的时机,可以是有新内容时,也可以是根据时间定时生成 <!--#include file="../inc/bottom.htm" --> 可以包含 用aspx包含静态生成的文件就可以了,里面的动态内容可以根据需要选择过期策略. shtml 没用过 如果是html就可以这样做 1用ifram应该可以搞定 2如果ifram不理想的话 还有一种 将数据写成这种形式 getCount.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="getCount.aspx.cs" Inherits="getCount" %> var messageCount; //文章数量 function getCount(paramCount) { messageCount =paramCount; putCount(); } getCount(<%= messageCount %>) 然后再在 html写成这种形式 showCount.htm<!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> <title>显示数据</title> <script language="javascript" type="text/javascript"> function putCount() { document.getElementById("Text1").value = 1; // 将1赋给Text1 document.getElementById("Text2").value = messageCount; // 将messageCount赋给Text2 } </script> </head> <body> <input id="Text1" type="text" /> <input id="Text2" type="text" /> <script language="javascript" src ="getCount.aspx" ></script> </body> </html> 通过这句调用数据 <script language="javascript" src ="getCount.aspx" ></script> 通过方法 function putCount() { document.getElementById("Text1").value = 1; // 将1赋给Text1 document.getElementById("Text2").value = messageCount; // 将messageCount赋给Text2 } 把数据传入指定部分 至于后台考虑性能 传入数据的这部分 getCount(<%= messageCount %>) 可以加页面缓存 也可以加数据缓存 |
|
3个月前 PerfectDesign : 补充一下,我现在的解决办法就是只有让shtml包含一个静态文件,而那个静态文件是每三分钟生成一次的,其他的动态内容是由ajax动态请求。 不知道有没有做过shtml的大牛.............. |
|
3个月前 玉开 : 我也补充一下,如果按你的思路在这里你要包含的aspx文件都是生成一些页面的html碎片,如果是这样的话,你可以把aspx文件改成ascx控件,然后让处理aspx文件的编译器,去处理shtml文件。 |
|
3个月前 PerfectDesign : 不太明白玉开的意思,是让一个windows服务循环生成呢?还是让shtml包含一个aspx文件呢? 你可以把aspx文件改成ascx控件,然后让处理aspx文件的编译器,去处理shtml文件。 你这句话不太明白什么意思 |
|
3个月前 PerfectDesign : Such Cloud 你的方式是不可以包含动态文件的 |
|
3个月前 PerfectDesign : 那样的话效率还是有一定的问题,我还是想采用shtml,就是对动态文件不好处理。既要考虑seo,还要考虑性能 |
|
3个月前 玉开 : web.config中有这么一个配置节,你可以msdn了解一下详细: <compilation defaultLanguage="c#" debug="true"> <buildProviders> <add extension=".shtml" type="System.Web.Compilation.PageBuildProvider"/> </buildProviders> </compilation> |