【问题标题】:Executing a javascript function client side with Jquery ASP.Net and C#使用 Jquery ASP.Net 和 C# 执行 javascript 函数客户端
【发布时间】:2009-08-16 18:36:27
【问题描述】:

我想从包含 javascript 函数的页面中提取一些数据,该函数采用参数包括 this 参数 ex: displayNav('11512010', 'J88903', 'itna ', 这个, 'detailSpec','false','true'); 我的第一个问题是我不确定应该如何处理 this 对象。我想执行脚本并以某种方式取回结果。我正在使用 C#、ASP.Net、Active X 网络浏览器控件和 JQuery。我对 javascript 的经验有限,并且对 JQuery 完全陌生。用 JQuery 可以做这种事情吗? 这是整个函数

  onclick="displayNav('11512010','J88903', 'itna', this, 'basicSpec','false','true'); return false;

【问题讨论】:

  • 能发一下displayNav功能吗?
  • 什么意思,你想“拉一些数据”?什么代码会启动“拉动”?你是说你想让一个.NET程序从这个页面获取数据吗?请说明控制流程。
  • 是的,我想从该函数返回的页面中获取数据。这就是我没有得到的是'什么代码会启动拉'我希望 Jquery 可以做到这一点。
  • 你是什么意思,“该函数返回的页面”?该函数返回什么?

标签: c# asp.net javascript jquery activex


【解决方案1】:

看起来您最好的选择是使用某种 asmx 网络服务。然后你可以在你的 web 服务中有一个带有参数的函数,你会得到一个 JSON 响应返回 htat,你可以在 jquery 中使用。查看 www.encosia.com 以获取有关从 jquery 调用 Web 服务的帖子。具体http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

【讨论】:

  • 谢谢,我会检查一下,所以你是说 asmx Web 服务将包含 Web 服务中的函数,我可以将参数发送到然后,无论这个 JSON 响应是什么都包含我的结果信息?
  • 请注意,我无法访问我只是通过网络连接的实际 Web 服务器。这不是我想在我个人控制的网站上创建的服务的开发。我无法为此创建服务。
  • 这是不可能的。如果页面不会为您调用 displayNav 并生成结果,那么您不能强制它这样做。
  • 不,页面确实调用了它,我的意思是我无法提取它!因为 html 源不包含它,所以我需要访问 DHTML 对象,页面使用 javascript 来动态加载这个值
  • 你说的是屏幕抓取吗?
【解决方案2】:

显然,您有一个包含此功能的页面。您需要在调用此函数后(可能是单击后)抓取存在的页面版本。您想通过程序或其他网页执行此操作。

您不能向说“给我这个页面,然后单击按钮,然后给我结果”的网络服务器发出请求。只有网络浏览器才能单击按钮并执行 javascript 并生成不同的 HTML 供您抓取。您需要一个解决方案,允许程序强制浏览器获取网页,然后单击按钮,然后获取结果。

在 .NET 中,您应该使用 Windows 窗体 WebBrowser 控件,它可以完成所有这些操作。

【讨论】:

  • 对的函数是调用一个外部文件一个驻留在客户端的.js文件,这完全是一个客户端进程。我需要提取函数返回的信息,这里没有任何服务器,它都是本地的,很抱歉造成混乱。所以基本上我想用参数执行那个 javascript 函数或另一个函数,然后取回结果信息并存储它。
  • 您打算如何存储它?您可以使用隐藏字段,但这当然只是暂时的。从长远来看,您需要某种数据库。
  • 存储没问题,访问是我唯一的问题。我将它存储到数据库中
  • 对不起,你没有任何意义。
  • 实际上我很清楚这是一个困难的问题。这是屏幕抓取。是否可以使用 Jquery 获取 Web 客户端上的 javascript 函数返回的值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多