关于WebClient自动提交网页数据问题

彖爻之辞 2011-10-31 03:38:33
关于WebClient自动提交网页数据问题
在网上看到了一个自动提交网页的内容,自己也跟着做了一个。
1、做了一个简单的网页,功能就是保存数据到SQL数据库中。测试通过。
2、在C#上做了一个自动提交的程序,学着网上的内容做的。是用WebClient做的。
3、提交过程可以,也可以看到返回的内容是已经提交了。但是数据库中并没有加入记录。
请问如何解决?
下面是自动提交的程序代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Net;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string submitButton = "增加";
string viewState = "/wEPDwULLTE0ODE3NDYyNzRkZK5viWtFFoIJ+N3qnoqOq75Ns/Od";
string eventValidation = "/wEWBQLygKKyBALe78rwDAL477bwDALc74LxDALliu2bAyco1MKM2hqETtym+PO38rueROZh";


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

this.txt1.Text = submitButton;
this.txt2.Text = viewState;
this.txt3.Text = eventValidation;
try
{
string uriString = "http://192.168.104.35/Default.aspx";
string postString = "BH=04&XM=WL&DZ=214400&COMMIT" + submitButton + "&__VIEWSTATE=" + viewState + "&__EVENTVALIDATION=" + eventValidation;
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);
string srcString = Encoding.UTF8.GetString(responseData);
re.Text = srcString;
}
catch (WebException we)
{
string msg = we.Message;
}

}

}
}

其中:txt1,txt2,txt3是文本框,re是RichText
下面是网页的内容:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!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 runat="server">
<title>A03、简单网页</title>
</head>
<body>
<asp:SqlDataSource
ID="cnnMain"
runat="server"
ConnectionString="<%$ ConnectionStrings:TESTConnectionString %>"
SelectCommand="SELECT BH, XM, DZ FROM CS"
InsertCommand="INSERT INTO CS (BH,XM,DZ) VALUES (@BianHao,@XingMing,@DiZhi)">
<insertparameters>
<asp:formparameter name="BianHao" formfield="BH" />
<asp:formparameter name="XingMing" formfield="XM" />
<asp:formparameter name="DiZhi" formfield="DZ" />
</insertparameters>
</asp:SqlDataSource>
<form id="form1" runat="server">
<div>
<span style="font-family: 宋体">编码:</span><asp:TextBox ID="BH" runat="server" Font-Names="宋体" Font-Size="9pt"></asp:TextBox><br />
<span style="font-family: 宋体">姓名:</span><asp:TextBox ID="XM" runat="server" Font-Names="宋体" Font-Size="9pt"></asp:TextBox><br />
<span style="font-family: 宋体">地址:</span><asp:TextBox ID="DZ" runat="server" Font-Names="宋体" Font-Size="9pt"></asp:TextBox><br />
<asp:Button ID="COMMIT" runat="server" Text="增加" Font-Names="宋体" Font-Size="9pt" />
</div>
</form>
</body>
</html>

下面是提交程序
Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub COMMIT_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles COMMIT.Click
cnnMain.Insert()
End Sub
End Class
...全文
187 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
-晴天 2011-10-31
  • 打赏
  • 举报
回复
这么快!
彖爻之辞 2011-10-31
  • 打赏
  • 举报
回复
已解决
是这里没有等号[=]
string postString = "BH=04&XM=WL&DZ=214400&COMMIT=" + submitButton + "&__VIEWSTATE=" + viewState + "&__EVENTVALIDATION=" + eventValidation;

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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