2017-05-02 9 views
0

ジョブデータベースには、 "projects/Project/Entry/5893"で終わるhttpアドレスがあります.5893はジョブをジョブに変更するジョブ番号です。 私はこのページを取得するまで、各番号を通過するようにタイマーを設定しましたEnd Page。最終ページではHtmlElementは存在しないので、System.NullReferenceExceptionを返します。最後に使用されたジョブ番号を知っています。しかし、問題は、例外がポップアップしないということです。誰もがこれを行う簡単な方法を知っていますか?申し訳ありませんが、完全なWebページアドレスを表示していないため、機密情報があります。ジョブ番号が使用されない場合の把握方法

private int a = -1; 
    private string NJNumber = File.ReadAllText(@"...\CurrentJobNumber.txt"); 
//The Last Confirmed Number by me and where to start searching from. 

    private void NewJob_Click(object sender, EventArgs e) 
    { 
     HtmlDocument doc = nwJob.Document; 

     a = Convert.ToInt32(NJNumber); 
     JobNumberTimer.Start(); 
    } 
    private void JobNumberTimer_Tick(object sender, EventArgs e) 
    { 
     HtmlDocument doc = nwJob.Document; 

     string aJN = a.ToString(); 
     try 
     { 
      nwJob.Navigate("..../projects/Project/Entry/" + aJN); 

      HtmlElement njname = doc.GetElementById("Name"); 
      a += 1; 
     } 
     catch(System.NullReferenceException) 
     { lblJobNumber.Text = a.ToString(); 
      JobNumberTimer.Stop(); 
     } 
    } 
+0

私はHtmlDocument.GetElementByIdがNullReferenceExceptionをスローするとは思わない。あなたは、エラーページの何かのためにHTML文書の本文をチェックしてみることができます。 'doc.Body.InnerText.Contains("何か検索するもの ")' – Scrobi

+0

私はそれをテストして、そのページを取得する方法を見つけようとしました。私はそれをすぐに試してみましょう。 –

+0

私はあなたが上記のコードではなくWebアプリケーションでテストしていたと推測しています。もしそうなら、NullReferenceExceptionはあなたのコードではなくWebアプリケーション上のエラーです。 – Scrobi

答えて

0

私はHtmlDocument.GetElementByIdがNullReferenceExceptionをスローするとは思わない。

エラーページのHTMLドキュメントの本文を確認してください。

doc.Body.InnerText.Contains("somthing to search for") 
関連する問題