2012-02-24 12 views
0

私は、このページが(Webサービスではなく)他のページからデータを取得し、それをグリッドに表示し、グラフ作成にHightchartを使用するという機能を持つプロジェクトに取り組んでいます。 問題は、このデータを別のページに読みたいということです。 私は他のページからhtmlを読むことができると知っています...しかし、この情報をページで取得するには、フィルタの2つの入力テキストを入力し、送信ボタンを押してください..次にテーブルを表示し、私は情報を抽出する必要があります。htmlのASP.NET操作と火災アクション

C#でこれを自動的に行う方法はありますか?

答えて

3

これを実行する方法はたくさんあります。最も一般的なのはAJAXです。 Javascriptを使用してクライアントからサーバー上のメソッドにコールバックを開始できます。このメソッドは、たとえばUpdatePanelのコントロールを更新できます。

また、サーバー側のクライアント側の呼び出しをPage Methodsにすることもできます。効果的に、これはjavascript/jqueryとAJAXを介してクライアントから呼び出すことができるあなたのwebform上の静的メソッドです。

EDIT。

別のサイトscrapeにしたいと判明しました。これを行う最も簡単な方法は、これを行うウェブサイト上のサーバーサイドページメソッドです。クライアントサイトからページを要求し、必要な情報を抽出してクライアントに返します。もちろん、クライアントはこれをページメソッドとして呼び出すことができます。

チュートリアルではhttp://www.4guysfromrolla.com/webtech/070601-1.shtmlを参照してください。その記事で言及しているとおり、HTML Agility Packを使用することをおすすめします。

さらに編集

さらにリモートサイトのページを操作したい場合は、プログラマチックにそれをやり遂げる方法を理解するために、そのサイトの開発者に話すことができない、またはしたくない場合は、不正行為をしなければなりません。 FirebugとTamper Dataを入手してください。 Firebugと改ざんデータを使用して、リモートサイトのボタンをクリックすると要求を出してサーバーに送信する方法を確認します。同じことをエミュレートしたい場合。投稿されているデータが分かっている場合は、サーバーから正確に同じ投稿を作成することができます。

trying to scrape AJAX websitesの場合、この種の問題がよく発生します。

+0

しかし、これは私のソリューションではなく、他のページに必要です。このページは新聞のページです。ウェブページから特定のデータのみを取得する必要があります... – jcvegan

+0

ああ、大丈夫です!あなたがしなければならないことは、他のアプリケーションを「掻き落とす」ことです。これを行うサーバー側のメソッドをサイトに持たせることができます。クライアントは、このサーバー側のメソッドを呼び出すことで、他のサイトを「掻き集め」、必要なデータを抽出してクライアントに返します。ガイドについては、http://www.4guysfromrolla.com/webtech/070601-1.shtmlを参照してください。 – dash

+0

はい、私はそれを操作し、ボタンを送信していくつかのことをしたいです – jcvegan