ASP页面提交表单的错误

为什么我每次做的ASP表单页面提交的时候都是错误的?我都是按照书上或者视频上一步一步的做的,别的页面都是对的,唯独就只有提交表单的页面是错误的?(比如说“留言板,用户注册... 为什么我每次做的ASP表单页面提交的时候都是错误的?
我都是按照书上或者视频上一步一步的做的,别的页面都是对的,唯独就只有提交表单的页面是错误的?(比如说“留言板,用户注册,新闻插入”)
我看代码也没错误,也提交不到数据库上面去,这是什么问题?
展开
 我来答
匿名用户
2008-09-06
展开全部
不把你的代码贴上来,如何帮你判断问题呢
给你一个新增表单资料的写法:
add.asp
<!--#include file="资料库连接页面.asp"-->
<form name=form1 method=post action="">
<input name=title type=text size=15>
<input name=content type=text szie=35>
<input name=sure type=submit value=提交>
</form>
<%
if not isempty(request("sure")) then call sure()
sub sure()
title=request.form("title")
content=request.form("content")
if title="" or content="" then
response.write"<script>alert('留言主题或内容不能为空哦!');history.go(-1)</script>"
exit sub
else
set rs=server.createobject("adodb.recordset")
sql="select * from 表"
rs.open sql,conn,3,3
rs.addnew
rs("title")=title
rs("content")=content
rs.update
rs.close
set rs=nothing
response.write"<script>alert('新增成功!');window.location='add.asp'</script>"
end if
end sub
%>
丙星晴h
2008-09-06 · TA获得超过3.2万个赞
知道大有可为答主
回答量:4.3万
采纳率:17%
帮助的人:7907万
展开全部
ASP页面提交表单

填写和提交以上表单的代码如下:

// 要提交表单的URI字符串。
string uriString = \"http://www.xxx.com/Login.aspx\";
// 要提交的字符串数据。
string postString = \"userName=user1&password=password1\";
// 初始化WebClient
WebClient webClient = new WebClient();
webClient.Headers.Add(\"Content-Type\", \"application/x-www-form-urlencoded\");
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// 上传数据,返回页面的字节数组
byte[] responseData = webClient.UploadData(uriString, \"POST\", postData);
// 返回的将字节数组转换成字符串(HTML)
string srcString = Encoding.UTF8.GetString(responseData);
srcStrinig 就是提交表单后所返回页面的HTML。怎么样,很简单吧。

但是,以上代码可以提交ASP或JSP生成的表单,却不能提交ASP.NET表单。因为提交ASP.NET表单时,必须给“__VIEWSTATE”和 “__EVENTVALIDATION”赋值。“__VIEWSTATE”和“__EVENTVALIDATION”的值可以通过在要提交的页面上按右键 “查看源文件”中找到。如下:
id=\"__VIEWSTATE\" value=\"/wEPDwUKMTg0NTgwMzM2M2RksjXHwIOzdq/skwDy1k6qTexm2j0=\"
id=\"__EVENTVALIDATION\" value=\"/wEWBAKxhbOEAQKPpuq2CALyveCRDwLejM6fDwP2723lUdzBJVBIAVzbpM2sXYqc\"
通过“查看源文件”得到的“__VIEWSTATE”和“__EVENTVALIDATION”的值还不能直接提交给表单,还需要转换成URL编码的字符串。

viewState = System.Web.HttpUtility.UrlEncode(viewState);
eventValidation = System.Web.HttpUtility.UrlEncode(eventValidation);
完整的代码如下:

// 提交按钮的文本
string submitButton = \"登录\";
// 页面的 VeiwState(可以通过IE打开页面,右键“查看源文件”取得)
string viewState = \"/wEPDwUKMTg0NTgwMzM2M2RksjXHwIOzdq/skwDy1k6qTexm2j0=\";
// 页面的 EventValidation(可以通过IE打开页面,右键“查看源文件”取得)
string eventValidation = \"/wEWBAKxhbOEAQKPpuq2CALyveCRDwLejM6fDwP2723lUdzBJVBIAVzbpM2sXYqc\";

submitButton = System.Web.HttpUtility.UrlEncode(submitButton);
viewState = System.Web.HttpUtility.UrlEncode(viewState);
eventValidation = System.Web.HttpUtility.UrlEncode(eventValidation);

try
{
// 要提交表单的URI字符串。
string uriString = \"http://www.xxx.com/Login.aspx\";
// 要提交的字符串数据。格式形如:user=uesr1&password=123
string postString = \"userName=1&password=1\" + \"&loginButton=\" + submitButton + \"&__VIEWSTATE=\" + viewState + \"&__EVENTVALIDATION=\" + eventValidation;
// 初始化WebClient
WebClient webClient = new WebClient();
webClient.Headers.Add(\"Content-Type\", \"application/x-www-form-urlencoded\");
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// 上传数据,返回页面的字节数组
byte[] responseData = webClient.UploadData(uriString, \"POST\", postData);
// 将返回的将字节数组转换成字符串(HTML);
// ASP.NET 返回的页面一般是Unicode,如果是简体中文应使用
// Encoding.GetEncoding(\"GB2312\").GetString(responseData)
string srcString = Encoding.UTF8.GetString(responseData);
}
catch (WebException we)

本篇教程来源于 完全教程网 原文链接:http://www.pcstu.com/program/Asp_net/jq/20070209/18141.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上帝说要有光于是便有了光
2008-09-06 · TA获得超过2652个赞
知道大有可为答主
回答量:6209
采纳率:50%
帮助的人:3138万
展开全部
肯定是代码有问题,但是看不到代码就不知道了。你可以贴一个功能的代码出来看看,或者你可以发给我我就知道是什么问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式