私はwinformsアプリケーションを作成しようとしています。何かがクリックされたときに、Webページの応答をチェックします。C#else if文を無視する
私はそれがPHPエラーであるかどうかを確認するためにウェブページをテストしましたが、それはその側からうまく動作します。
else if文を完全に無視し、応答が "未割り当て"であってもその下のelse文にスキップします。
private void button1_Click(object sender, EventArgs e)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://fms.psrpc.co.uk/apiconfirmD.php?" + ApiKey);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (response)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
if (reader.ReadToEnd() == "Changed")
{
label2.Visible = false;
button1.Enabled = false;
button2.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button8.Enabled = true;
timer1.Enabled = true;
}
else if (reader.ReadToEnd() == "Unassigned")
{
string message = "Error Code: [email protected]@Error booking [email protected] make sure you have been assigned to a [email protected]@If this error persists please contact K.McCrudden.";
message = message.Replace("@", "" + System.Environment.NewLine);
string title = "Error!";
MessageBoxButtons buttons = MessageBoxButtons.OK;
DialogResult result = MessageBox.Show(message, title, buttons, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2);
}
else
{
string message = "Error Code: [email protected]@Error booking [email protected] make sure you have booked a shift and have been [email protected]@If this error persists please contact K.McCrudden.";
message = message.Replace("@", "" + System.Environment.NewLine);
string title = "Error!";
MessageBoxButtons buttons = MessageBoxButtons.OK;
DialogResult result = MessageBox.Show(message, title, buttons, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2);
}
}
}
文が場合はスキップされない単純ではありません。私は 'reader.ReadToEnd()==" Unassigned "が実際に何を評価しているかを再確認してほしい。 – Carcigenicate
'ReadToEnd()'を一度呼び出した後、2回目の呼び出しが何を返すと思いますか?ヒント:あなたは読者の最後まで読んでいます*。それ以外に何があるのでしょうか? 2番目のヒント:たぶんあなたは 'ReadToEnd()'を一度呼び出す必要があり、結果を文字列変数に格納する必要があります。 –
@JonSkeet Doh。私はそれをキャッチしていない恥ずかしいです。 – Carcigenicate