关于静态页生成问题 突破form数量限制

我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找这方面的内容,找到这个:《不用模板只用ASP+FSO生成静态HTML页的一个方法》:http://www.jb51.net/html/200609/984.htm,我试了一下,一般能办,但文件大时,就会出错,到底是什么原因呢?是textarea存储的文件有限制还是其他,反复上网查,同时在IECN发表帖子求助,我反复试验,发现是表单有限制,在网上找到了解决FORM的限制问题,

下面是转贴:

当表单发送的数据量很大时,就会报错。查阅msdn了解到,原因是微软对用request.form()可接收的最大数据有限制,iis4中为80k字节,iis5中为100k字节。 
  下面是微软提供的几个解决方法:

1、用request.binaryread 代替 request.form方法 来解析表单数据;

2、使用文件上传方案,比如:microsoft posting acceptor;

3、由于102399字节的限制是对每个表单元素的,所以在提交时,把表单元素内容大于102399的分隔成多个表单元素来提交。

下面为示例代码:(微软提醒:下面代码不一定完全适用特定的需要,不对使用这些代码产生的后果负责!) 


代码如下:

<form method=post action=largepost.asp name=theform onsubmit="breakitup()"> 
<textarea rows=3 cols=100 name=bigtextarea>a bunch of text...</textarea> 
<input type=submit value=go> 
</form> 
<script language=javascript> 
function breakitup() 

//set the limit for field size. 
//如果内容有中文的字符的话,可以设置为:51100 
var formlimit = 102399 
//get the value of the large input object. 
var tempvar = new string 
tempvar = document.theform.bigtextarea.value 
//if the length of the object is greater than the limit, break it 
//into multiple objects. 
if (tempvar.length > formlimit) 

document.theform.bigtextarea.value = tempvar.substr(0, formlimit) 
tempvar = tempvar.substr(formlimit) 
while (tempvar.length > 0) 

var objtextarea = document.createelement("textarea") 
objtextarea.name = "bigtextarea" 
objtextarea.value = tempvar.substr(0, formlimit) 
document.theform.appendchild(objtextarea)

tempvar = tempvar.substr(formlimit) 



</script>

接受数据页主要代码:

<% 
dim bigtextarea 
for i = 1 to request.form("bigtextarea").count 
bigtextarea = bigtextarea & request.form("bigtextarea")(i) 
next 
%>

第一种也是有限制,我采用了第三种,终于成功了。

(0)

相关推荐

  • 关于静态页生成问题 突破form数量限制

    我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找这方面的内容,找到这个:<不用模板只用ASP+FSO生成静态HTML页的一个方法>:http://www.jb51.net/html/200609/984.htm,我试了一下,一般能办,但文件大时,就会出错,到底是什么原因呢?是textarea存储的文件有限制还是其他,反复上网查,同时在IECN发表帖子求助,我反复试验,发现是表单有限制,在网上找到了解决F

  • ASP.NET静态页生成方法

    本文实例讲述了ASP.NET静态页生成方法.分享给大家供大家参考.具体实现方法如下: 一.问题: 由于业务需要,得把页面按照模板页生成静态页面,所以自己就琢磨了下,写些思路,以备日后需要的时候用. 二.解决方法: 静态页生成用到最多的就是匹配跟替换了,首先得读取模板页的html内容,然后进行你自己定义的标签匹配,比如说我要把我定义的标题标签换成读取数据库的标题内容,那么可以直接读取数据库的标题,然后直接进行替换,然后生成html文件就OK了. 具体代码如下: 复制代码 代码如下: /// <su

  • 在ASP中不用模板生成HTML静态页直接生成.html页面

    我们一般生成HTML静态页时,常常会事先做好一个模板,然后生成时调用模板文件.那么有没有办法不用模板,如一个正常的htmer.asp页面,直接生成为htmer.html页面呢?当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.htm

  • asp.net 生成静态页笔记

    1.使用serever.Excute 复制代码 代码如下: StreamWriter sw = new StreamWriter(Server.MapPath("html/Login.html"), false); Server.Execute("ShowColumn.aspx?id=1&page=2", sw); sw.Close(); 2.替换字符 url重写 1.定义重写规则 urls.xml 变成urls.config 复制代码 代码如下: <

  • asp.net 生成静态页时的进度条显示

    asp.net如何生成静态页,请参考下面的文章:http://www.jb51.net/article/18175.htm而我们用模拟的话,只需要让线程延迟执行就可以了.比如下面的代码: 复制代码 代码如下: for (int i = 0; i < 10; i++) { DateTime startTime = DateTime.Now; Response.Write(i + "-------------执行时间:" + startTime.ToString()+"&l

  • ASP.NET MVC使用RazorEngine解析模板生成静态页

    简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目. 我们在很多项目开发中会常常用到页面静态化,页面静态化有许多方式,最常见的就是类似很多PHP CMS种使用的 标签替换的方式(如:帝国CMS.EcShop等),还有很多都是伪静态,伪静态我们就不做过多解释,通过路由或Url

  • 详解ASP.NET MVC 解析模板生成静态页(RazorEngine)

    简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目. 我们在很多项目开发中会常常用到页面静态化,页面静态化有许多方式,最常见的就是类似很多PHP CMS种使用的 标签替换的方式(如:帝国CMS.EcShop等),还有很多都是伪静态,伪静态我们就不做过多解释,通过路由或Url

  • 详解ASP.NET MVC 利用Razor引擎生成静态页

    最近在研究ASP.NET MVC生成静态页,那么今天也算个学习笔记吧! 实现原理及步骤: 1.通过ViewEngines.Engines.FindView查找到对应的视图,如果是部分视图,则用:ViewEngines.Engines.FindPartialView: 2.设置上下文对象里的Model: 3.调用视图的Render()方法,将渲染结果保存到物理静态文件: using System; using System.IO; using System.Text; using System.W

  • asp.net实现生成静态页并添加链接的方法

    本文以实例讲解了asp.net实现生成静态页并添加链接的方法,非常实用的功能,通过本实例可以加深读者对于asp.net下文件操作的认识. 1.创建一个静态网页模板 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http

  • CodeIgniter生成静态页的方法

    本文实例讲述了CodeIgniter生成静态页的方法.分享给大家供大家参考,具体如下: 现在我们来开发如何让CI框架生成静态页面.下面直接帖代码: $this->output->get_output(); 使用这个方法,你可以可以得到将要输出的数据,并把它保存起来,留着它用(我们做新闻类型网站的时候,常常需要生成静态的HTML文件). $string = $this->output->get_output(); $this->load->helper('file');

随机推荐