none
用asp.net如何给asp的表单赋值并自动提交执行 RRS feed

  • 问题

  • 想用asp.net获取一个asp的表单,并将其中一个选项赋值,然后自动提交,请问该怎么办啊
    gao
    2010年1月3日 11:19

答案

  •             string m_Params = "submit=Submit&txt_name=" + "InputTest1";
                byte[] m_PostBytes = Encoding.ASCII.GetBytes(m_Params);

                HttpWebRequest m_HttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://localhost/web/vote.asp");
                m_HttpWebRequest.Method = "POST";
                m_HttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
                m_HttpWebRequest.ContentLength = m_PostBytes.Length;
                using (Stream m_Stream = m_HttpWebRequest.GetRequestStream())
                {
                    m_Stream.Write(m_PostBytes, 0, m_PostBytes.Length);
                }
    2010年1月4日 3:32
  • 你好,

    上面这个代码还没有将数据发送出去。需要利用m_HttpWebRequest的GetResponse方法获得一个返回值,这样这个模拟提交才算完成了。

    另外你也可以用HttpWatch查看该asp表单提交的数据名字。

    然后你在本地修改你的form的action为该asp页面的地址,控件也和该asp中提交数据的控件的名字和id相同。然后放一个submit就行了。


    Microsoft Online Community Support
    2010年1月4日 8:10

全部回复

  • 用HttpWebRequest来做可以实现
    2010年1月4日 0:29
  • 能不能给些更具体的代码啊,谢谢啊
    gao
    2010年1月4日 2:02
  •             string m_Params = "submit=Submit&txt_name=" + "InputTest1";
                byte[] m_PostBytes = Encoding.ASCII.GetBytes(m_Params);

                HttpWebRequest m_HttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://localhost/web/vote.asp");
                m_HttpWebRequest.Method = "POST";
                m_HttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
                m_HttpWebRequest.ContentLength = m_PostBytes.Length;
                using (Stream m_Stream = m_HttpWebRequest.GetRequestStream())
                {
                    m_Stream.Write(m_PostBytes, 0, m_PostBytes.Length);
                }
    2010年1月4日 3:32
  • 你好,

    上面这个代码还没有将数据发送出去。需要利用m_HttpWebRequest的GetResponse方法获得一个返回值,这样这个模拟提交才算完成了。

    另外你也可以用HttpWatch查看该asp表单提交的数据名字。

    然后你在本地修改你的form的action为该asp页面的地址,控件也和该asp中提交数据的控件的名字和id相同。然后放一个submit就行了。


    Microsoft Online Community Support
    2010年1月4日 8:10
  •      string m_Params = "submit=Submit&v_index=7-200-04087-8";
            byte[] m_PostBytes = Encoding.ASCII.GetBytes(m_Params);

            HttpWebRequest m_HttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://10.0.1.1/cgi-bin/EnterIlasweb");
            m_HttpWebRequest.Method = "POST";
            m_HttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
            m_HttpWebRequest.ContentLength = m_PostBytes.Length;
            using (Stream m_Stream = m_HttpWebRequest.GetRequestStream())
            {
                m_Stream.Write(m_PostBytes, 0, m_PostBytes.Length);
            }

    我把代码改成这样,运行了确实没什么反应,不知道要怎么才能提交,对这个比较陌生,能不能给个完整点的,谢谢各位了


    gao
    2010年1月4日 8:30
  • <FORM name=Outline ACTION="http://10.0.1.1/cgi-bin/IlaswebBib" METHOD="post" onsubmit="return FrontPage_Form2_Validator(this)">
     
                               
     <div align="center">                        
        <center>
          <table bgcolor=#fffdec border=0 cellpadding=0 cellspacing=0 width=662>
            <tbody>
            <tr valign=top>
              <td colspan=3><IMG border=0 name=t1_r1_c1
                src="../images/label2.gif" width="662" height="31"></td>
            </tr>
            <tr valign=top>
              <td bgcolor=#ffcc66 rowspan="7" height="200" width="3"></td>
              <td height="48">
                <table border="0" width="100%" height="14" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="18%" height="47"></td>
                    <td width="60%" height="47">&nbsp;&nbsp;&nbsp;&nbsp; <font style="font-size:10pt">本栏目可以查询本馆的<b><font color="#3f67a3">书及馆藏情况</font></b>和<font color="#3f67a3"><b>期刊及期刊的过刊信息、订购信息、记到信息</b></font>,读者在此可对指定的馆藏文献进行预约、预借。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></td>
                    <td width="22%" height="47" align="center">
     </td>
                  </tr>
                </table>
              </td>
              <td bgcolor=#ffcc66 height="200" rowspan="7" width="3"></td>
            </tr>
            <tr valign=top>
              <td rowspan="4" height="30">
                <table border="0" width="95%" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"><b><font color="#3f67a3">1.选择一个查找途径:</font></b></td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input type="radio" value="TITLE" checked name="v_index">
                        题名(刊名) &nbsp;&nbsp;&nbsp; 如:‘中国’表示书/刊名以‘中国’开头</td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input type="radio" name="v_index" value="AUTHOR">
                        责任者  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如:‘张三’</td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input type="radio" name="v_index" value="SUBJECT">
                        主题词   &nbsp;&nbsp;&nbsp; 如:‘计算机’</td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input type="radio" name="v_index" value="CLASSNO">
                        分类号   &nbsp;&nbsp;&nbsp; 如:‘I247.5’(据中国图书馆图书分类法)</td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input type="radio" name="v_index" value="ISBN">
                        国际标准书/刊号 如:‘7-5600-0997-2’</td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input type="radio" name="v_index" value="CALLNO">
                        索取号   &nbsp;&nbsp;&nbsp; 如:‘I247.5/3441’</td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"><b><font color="#3f67a3">2.在以下的方框中输入要查找的内容:</font></b></td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"></td>
                      <td width="65%" height="25" bgcolor="#fffdec"> <input name="v_value" size="40" tabindex="1" >
                      </td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec" height="30"></td>
                      <td width="65%" bgcolor="#fffdec" height="25"><b><font color="#3f67a3">3.出版时间限定(可不填):
                        <input name="FLD_DAT_BEG" size="4" tabindex="3" >
                        年--
                        <input name="FLD_DAT_END" size="4" tabindex="4"
         >
                        年</font></b></td>
                    </tr>
                    <tr>
                      <td colspan="2" bgcolor="#fffdec"></td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec" height="28"> </td>
                      <td width="65%" bgcolor="#fffdec" height="25"><b><font color="#3f67a3">4.每页浏览数据条数:
                        <select size="1" name="v_pagenum">
                          <option selected value="10">10 条</option>
                          <option value="15">15 条</option>
                          <option value="20">20 条</option>
                        </select>
                        </font></b></td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec" height="27"> </td>
                      <td width="65%" bgcolor="#fffdec" height="25"><b><font color="#3f67a3">5.检&nbsp;索&nbsp;库
                        <input type="radio" checked name="v_seldatabase" value="0">
                        书和刊
                        <input type="radio"  name="v_seldatabase" value="1">
                        图书
                        <input type="radio"  name="v_seldatabase" value="2">
                        期刊 </font></b></td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec" height="26"> </td>
                      <td width="65%" bgcolor="#fffdec" height="25"><b><font color="#3f67a3">6.检索方式
                        <input type="radio" checked name="v_LogicSrch" value="0">
                        前方一致
                        <input type="radio"  name="v_LogicSrch" value="1">
                        模糊检索</font></b></td>
                    </tr>
                    <tr>
                      <td width="15%" bgcolor="#fffdec"> </td>
                      <td width="65%" bgcolor="#fffdec">&nbsp; </td>
                    </tr>
                  </table>
              </td>
            </tr>
            <tr valign=top> </tr>
            <tr valign=top> </tr>
            <tr valign=top> </tr>
            <tr valign=top>
              <td bgcolor="#ffcc66" height="2"></td>
            </tr>
            <tr valign=top>
              <td width=618 height="27" align="center"> <br>
                <input type="submit" value="查&nbsp;询" tabindex="2" class="b1" name="submit">
                  &nbsp;  &nbsp; &nbsp;
                  <input type="reset" value="重&nbsp;填" class="b1" name="reset">
              </td>
            </tr>
            <tr valign=top>
              <td colspan=3><IMG border=0 name=k_r3_c1
                src="../images/bottomline.gif"></td>
            </tr>
            </tbody>
          </table>                           
         
        </center>
      </div>
      </FORM>


    就是这个表单,我要给上面的isbn传个值,然后自动提交,生成新页面
    gao
    2010年1月4日 8:32
  • 在上面的代码中加入下面一句就够了,试试。

     System.Net.HttpWebRequest m_HttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://10.0.1.1/cgi-bin/EnterIlasweb");
            m_HttpWebRequest.Method = "POST";
            m_HttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
            m_HttpWebRequest.ContentLength = m_PostBytes.Length;
            using (Stream m_Stream = m_HttpWebRequest.GetRequestStream())
            {
                m_Stream.Write(m_PostBytes, 0, m_PostBytes.Length);
            }
    
    
          WebResponse wr=m_HttpWebRequest.GetResponse();

    Microsoft Online Community Support
    2010年1月4日 8:43
  • 还是没什么反应,也不报错,但是没有结果出来,我希望有个结果从10.0.1.1这个服务器传过来,之前我要将V-index赋值为一个参数,这里用常量-200-04087-8代替的",, string m_Params = "submit=Submit&v_index=7-200-04087-8",不知道是不是这句话有问题,

    gao
    2010年1月4日 8:54
  • 你好,

    构造httprequest的时候使用这个地址试试:http://10.0.1.1/cgi-bin/IlaswebBib"
    Microsoft Online Community Support
    2010年1月4日 9:26
  • 还是不行,返回来空白页,成功的话,http://10.0.1.1/cgi-bin/IlaswebBib应该是返回页
    gao
    2010年1月4日 10:07
  • 不知道你有没注意到你贴出来的asp页面的代码,该页面提交的数据是提交给tp://10.0.1.1/cgi-bin/IlaswebBib"来进行处理的。

    所以你构造webrequest的时候使用的uri应该是tp://10.0.1.1/cgi-bin/IlaswebBib"。

    你怎么知道tp://10.0.1.1/cgi-bin/IlaswebBib"是返回页呢。
    Microsoft Online Community Support
    2010年1月5日 2:34
  • 不用asp.net控制,直接在http://10.0.1.1/cgi-bin/EnterIlasweb输入检索的话,返回来的结果就是这个页面显示的
    gao
    2010年1月5日 2:38
  • 还是上面那句话,action指定的地址是处理页面数据提交的。那个asp中的表单就是提交给这个action指定的地址进行处理的。

    所以你用acton指定的那个地址试试。

    你说的这个地址我无法访问。
    Microsoft Online Community Support
    2010年1月5日 3:54