积极答复者
帮忙看看这个大致是什么意思

问题
-
这个是从别人一个网站的源码(不是真正源码,只是菜单栏里查看——源文件)的一部分:
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
---------------------------
<a href="javascript:__doPostBack('DataGrid1$_ctl14$_ctl2','')" style="color:#4A3C8C;">3</a>
这里我想知道当我单击这个“3”之后,具体提交了什么参数?
另外我自己做了一个工具,是从该网站可以查询一些信息,目前登陆已经做好了,现在在想怎么查询里面数据,我想通过提交带有参数的URL直接获得我所需要的页面,比如有一段代码是这样的:
<select name="zc" onchange="__doPostBack('zc','')" language="javascript" id="zc" style="font-size:X-Small;height:24px;width:104px;">
<option selected="selected" value="0">请选择周次</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option></select></TD>
我尝试提交类似这样的地址:http://www.xxxxx.com/xxxx.aspx?zc=1
并不能得到查询后的页面结果,显示出来的结果与http://www.xxxxx.com/xxxx.aspx一摸一样
希望高手能帮一下,还是我这个想法直接通过URL提交带有参数的地址获得数据页面不可行?- 已移动 Sheng Jiang 蒋晟 2009年9月27日 16:55 客户端脚本问题 (发件人:Visual C#)
答案
-
不知道我有没有看错,因为zc的数据是通过下拉列表框post回服务器端的,而楼主的想依靠url传递参数的方式,除非原来的网站也那么支持才行,否则你虽然从url上传递的参数,但是在服务器端并不会得到处理。除非楼主从你的程序中利用post方式发送数据给服务器。这种程序通常模拟手工操作就行了,就是你手工怎么操作页面的,就用代码模拟手工对各个控件的操作。具体的需要分析各个页面生成的HTML代码,并对相关HTML元素调用适当的方法来实现。
理解的越多,需要记忆的就越少- 已编辑 RickyLin 2009年9月27日 13:50 补充一下
- 已建议为答案 Andrew_ZhuModerator 2009年9月29日 3:00
- 已标记为答案 4-Dream 2009年9月30日 7:09
全部回复
-
1.这个是asp.NET 的post的内容,或者ajax的
嗯,是的,是post的,后面也确实有个DataGrid,不过真正的源码别人肯定不让我看的。
如果估计没错 应该是这个页面的DataGrid1的单元格内容吧
这个最好还是能看到背后的源代码,否则很难猜测到干了什么。
2.现在很多网站都使用类似友好的url,或者叫 url重定向,如果知道规则你也可以模拟这类url地址实现你内容提交。
family as water
网站是用vs .net 7.1的c#写的
如果直接从源文件里面去历遍所有的表单,那么当一页内容很多的时候会很耗费资源,而且速度也比较慢,程序写起来也有点难度。
所以才想通过URL直接打开我所需要的页面,只是现在以我的水平还看不出来具体是怎么提交的。
我现在只是完成了在软件界面实现登陆,用的是历遍所有的表单,因为登陆界面很简单,所以历遍所有的速度很快,可以当有实际内容的时候,这样一步步历遍,工作效率就很低了 -
不知道我有没有看错,因为zc的数据是通过下拉列表框post回服务器端的,而楼主的想依靠url传递参数的方式,除非原来的网站也那么支持才行,否则你虽然从url上传递的参数,但是在服务器端并不会得到处理。除非楼主从你的程序中利用post方式发送数据给服务器。这种程序通常模拟手工操作就行了,就是你手工怎么操作页面的,就用代码模拟手工对各个控件的操作。具体的需要分析各个页面生成的HTML代码,并对相关HTML元素调用适当的方法来实现。
理解的越多,需要记忆的就越少- 已编辑 RickyLin 2009年9月27日 13:50 补充一下
- 已建议为答案 Andrew_ZhuModerator 2009年9月29日 3:00
- 已标记为答案 4-Dream 2009年9月30日 7:09