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

关于httpclient模拟post的问题
aspx页面的一个form 通过 点击 登录 按钮 获得一个在text输入的账号和密码后,调用on_click事件来验证,再返回登录结果。
我现在想 如何才能激发这个on_click事件 多谢了
  <form id="form1" runat="server">
   
  <div id="content"><!--内容-->
  <div id="left"> </div>  
  <div id="midline"></div>
  <div id="right"><!--右边 登陆表单-->
  <div id="menu">
  <img src="images/signup.png" class="entrance"/>
  <span class="userbg">
  <asp:TextBox ID="nickname" CssClass="nickname" runat="server" value="test"/>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
  ControlToValidate="nickname" ErrorMessage="*用户名必填*" 
  CssClass="errormsg1" Height="23px" Width="241px" />  
  </span>  
  <span class="pwbg">
  <asp:TextBox ID="password" runat="server" TextMode="Password" CssClass="password" value="test"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
  ControlToValidate="password" ErrorMessage="密码必填" CssClass="errormsg2" /> </span>
  <asp:Button ID="Button1" runat="server" Text="登 陆" onclick="Button1_Click" class="button" />
  <input type="button" value="注 册" onclick="javascript:document.location='register.aspx';" class="button register" />  

  </form>


下面是button1_Click事件:
protected void Button1_Click(object sender, EventArgs e)
  {

  if (this.nickname.Text == "" || this.password.Text == "")
  {
  Common.ShowMsg("请填写完整!");
  }
  else
  {

  string nick = this.nickname.Text;
  string pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.password.Text, "MD5");
  Student s = this.sbll.loginStudent(nick, pwd);
  if (s != null)
  {
  Session.Add("student", s);
  Response.Redirect("Student/Default.html");
  }
  else
  {
  Response.Write("<script>alert('用户名或密码不存在');history.back();</script>");
  // Response.Redirect("default.aspx");
  }

  }
  }

------解决方案--------------------
你如果是要调用js,java有调用js的相关引擎,你可网上找找。
你是想实现自动登录~?如果是这么你就完全没必要管js~。
可以监视下浏览器http请求。看看最终登录发出的请求的详细内容。
根据这个内容,再用httpclient来模拟登录。