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();
}
}
私はHtmlDocument.GetElementByIdがNullReferenceExceptionをスローするとは思わない。あなたは、エラーページの何かのためにHTML文書の本文をチェックしてみることができます。 'doc.Body.InnerText.Contains("何か検索するもの ")' – Scrobi
私はそれをテストして、そのページを取得する方法を見つけようとしました。私はそれをすぐに試してみましょう。 –
私はあなたが上記のコードではなくWebアプリケーションでテストしていたと推測しています。もしそうなら、NullReferenceExceptionはあなたのコードではなくWebアプリケーション上のエラーです。 – Scrobi