日期:2014-05-20  浏览次数:20475 次

关于shtml内嵌网页不运行的问题
首先声明,IIS服务器的允许shtml文件,已设置成功。
环境:.net2005,iis6,sqlserver2005
问题文件:1.shtml,count.aspx,count.aspx.cs
小弟想实现如下功能,静态的shtml页面,利用 <#include   file= "count.aspx?id=1 "> 语句欠套一个计数器。
count.aspx为空白页
count.aspx.cs的代码极其简单
int   count=0;
count=getClick(Request.QueryString[ "newsID "]);//调用一个取得点击数的函数,此含数没错误。
label1.text=count.tostring();
单纯的运行count.aspx?id=1,显示:10(这是点击数),页面显示没问题。
1.shtml关键代码如下
共有 <#include   file= "count.aspx?id=1 "> 人观看此页。
运行1.shtml实际现实为“共有人观看此页”
至此,小弟分析要么是aspx文件没执行,要么是aspx.cs文件没有执行
小弟将count.aspx加入如下显示文字:“测试”
单纯运行count.aspx?id=1显示:测试20《==20是点击数
继续运行1.shtml文件,显示:共有测试人观看此页.
可见1.shtml嵌套了count.aspx,aspx文件的内容显示正常,但与其相关联的aspx.cs不运行,请问各位高手有何高招
小弟将.cs文件中的关键代码分别写入了page_load、init,render中,均不奏效,不知道问题何在?

------解决方案--------------------
不用include 使用iframe试试
<iframe frameborder= "0 " marginheight= "0 " marginwidth= "0 " scrolling= "no " src= "count.aspx?id=1 "> </iframe>

height= "0 " width= "0 "根据你的count.aspx所站高度设置
------解决方案--------------------
shtml中包含文件 <!--#include virtual= "top.aspx ">
在请求时会先解析top.aspx,你传来的的参数根本没用
不可这样做;
------解决方案--------------------
不能执行的 iis接受请求,转给aspx模块或asp模块执行完毕以后.在请求结束回发的时候 在输出流上在加载包含文件的文本内容.这时候动态请求是没有处理模块来处理的.