如何在程序中用POST的方法提交服务器表单?

unixpeter 2006-02-08 06:14:42
比如
<%@page language="vb"%>
<script runat="server">
sub page_load(sender as object,e as eventargs)
'我想在这里先检查textbox里面的数据,然后才提交表单到另外一个页面(test.aspx)
'action="test.aspx"没有用啊,不执行
'我想在提交的时候使用post方法把表单f里面的所有值提交给test.aspx,请问如何实现
'在提交之前,需要检查textbox的数据.
if t.text="f" then
'这里就可以SUBMIT了
else
'这里是错误信息,反正不执行提交.
end if
end sub
</script>
<form id="f" ruant="server" action="test.aspx">
<asp:Textbox id="t" runat="server"></asp:textbox>
<asp:button onclick="page_load">
</form>
...全文
311 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qqwwee_Com 2006-02-15
  • 打赏
  • 举报
回复
楼上
请参考我尾巴后面的软件
有源代码的。



====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2

unixpeter 2006-02-14
  • 打赏
  • 举报
回复
webhttprequest方法不安全,传送数据还会传送掉
我试用,用SESSION保存就不会丢数据,用WebHttpRequest以POST的方法提交数据就会传送掉.
Qqwwee_Com 2006-02-13
  • 打赏
  • 举报
回复
看看我的尾巴吧。



====CSDN 小助手 V2.5 2006年1月18日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2

sky_cp 2006-02-13
  • 打赏
  • 举报
回复
请问如何在结果页面读取传递的数据呢,比如如何在后台读取传递的valueA的值呢,谢谢!
unixpeter 2006-02-11
  • 打赏
  • 举报
回复
这样传的
Dim cdated As Byte = Encoding.ASCII.GetBytes("valueA=" + sns.Text+"&ValueB="+...................)
我总觉得传送数据的时候会丢失,我解密数据的时候有时会报错,证明KEY丢失了几位
sky_cp 2006-02-11
  • 打赏
  • 举报
回复
请问如何传递多个值?
unixpeter 2006-02-09
  • 打赏
  • 举报
回复
但是这样好像并没有跳到results.aspx
unixpeter 2006-02-09
  • 打赏
  • 举报
回复
换成VB就应该是这样的吧

Dim url2 As String = "results.aspx"
Dim req As System.Net.HttpWebRequest
req = System.Net.HttpWebRequest.Create(url2)
req.Method = "Post"
req.ContentType = "application/x-www-form-urlencoded"
req.Timeout = 30000
Dim cdated As Byte = Encoding.ASCII.GetBytes("s" + sns.Text)
req.ContentLength = cdated.length
Dim sends As IO.Stream = req.GetRequestStream
sends.Write(cdated, 0, cdated.length)
Dim myread As IO.StreamReader = New IO.StreamReader((req.GetResponse()).GetResponseStream(), True)
Dim results As String = myread.ReadToEnd()
unixpeter 2006-02-09
  • 打赏
  • 举报
回复
I like you very much,it's great,i 'll try it.
我试试,C#就是和VB有一点不一样,应该可以用.成功了回来亲你一个
ajqc 2006-02-09
  • 打赏
  • 举报
回复
修改一下,COPY时少了一个)
string url2 = @"http://www.你要POST的站.com/results.aspx";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url2);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.Timeout = 30000;//这是超时设置,单位为豪秒
byte[] date = Encoding.ASCII.GetBytes("sText=" + sTest的值);
req.ContentLength = date.Length;
Stream sendStream = req.GetRequestStream();
sendStream.Write(date, 0, date.Length);
StreamReader read = new StreamReader(((HttpWebResponse)req.GetResponse()).GetResponseStream(), Encoding.GetEncoding("GB2312"));
string POST返回的结果=read.ReadToEnd();
ajqc 2006-02-09
  • 打赏
  • 举报
回复
string url2 = @"http://www.你要POST的站.com/results.aspx";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url2);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.Timeout = 30000;//这是超时设置,单位为豪秒
byte[] date = Encoding.ASCII.GetBytes("sText=" + sTest的值;
req.ContentLength = date.Length;
Stream sendStream = req.GetRequestStream();
sendStream.Write(date, 0, date.Length);
StreamReader read = new StreamReader(((HttpWebResponse)req.GetResponse()).GetResponseStream(), Encoding.GetEncoding("GB2312"));
string POST返回的结果=read.ReadToEnd();
unixpeter 2006-02-09
  • 打赏
  • 举报
回复
有朋友能写一个实例来看看吗?
<%@page language="vb"%>
<script runat="server">
private sub SubmitTest(sender as object,e as eventargs)
if sText.Text<>"" then
call mySubmit(sText.Text)
else
sMessage.text="canot submit"
end if
end sub
private sub mySubmit(t as string)
请问:
如果在这里用POST的方法提交表单sTest到results.aspx怎么写啊?
end sub
</script>
<form ruant="server" id ="sTest" action="results.aspx">
<asp:Textbox id="sText" runat="server"></asp:textbox>
<asp:button test="Submit and Encryption" onclick="SubmitTest" runat="server" />
<asp:label id="sMessage" runat="server"></asp:label>
</form>
unixpeter 2006-02-09
  • 打赏
  • 举报
回复
httprequest方法怎么使呢?
楼上的朋友说的B/S是指browser/server吧,它们就是在一块儿的啊,我就想在后台加密数据后提交表单到另外一个页,不在表单上加密,我在后台自定义加密.
response.redirect
response.redirectLocation
Server.Transfer
这些都不行
真相重于对错 2006-02-09
  • 打赏
  • 举报
回复
把什么是b/s搞清楚就清楚了
beiouwolf 2006-02-09
  • 打赏
  • 举报
回复
采用后台提交 可以用AJAX或者HTTPREQUEST
unixpeter 2006-02-09
  • 打赏
  • 举报
回复
对啊,但是这样转的话,没有什么作用啊,跟GET方法是一样的啊.难道就不能在服务器上用一个函数让表单提交到默认的action=2.aspx吗?
真相重于对错 2006-02-09
  • 打赏
  • 举报
回复
还有,transfer不是你们想的那样,是客户端get or post 数据到2.aspx
而是,客户端Post数据到第一个页面,在第一个页面后台里把post来得数据在服务器端转到2.aspx里,
真相重于对错 2006-02-09
  • 打赏
  • 举报
回复
sorry
is Server.Transfer( "2.aspx" )
not Transform,
(tu ran bu neng da zhong wen le )
unixpeter 2006-02-08
  • 打赏
  • 举报
回复
string strurl = "test.aspx?value=" + t.text;
Server.Transform(strurl);
如果这样的话,就是以get的方式提交数据,只是不在地址处显示,我想用POST提交啊,表单里面很有长文本,这样很不方便,.NET应该有直接的方法让表单执行submit到指定的action吧?
我主要是想在服务器进行加密数据,然后在传送数据到另外的页面,必须要用POST的方法提交.
unixpeter 2006-02-08
  • 打赏
  • 举报
回复
在代码里面让表单SUBMIT以后,在后一页又怎么样来取值呢??
上面的朋友写的都是C#啊,有没有VB的啊?
加载更多回复(5)

62,254

社区成员

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

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

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

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