-4
if (!IsPostBack)
{
    string EnquiryID = (Session["Enq_ID"].ToString());

    if (EnquiryID != null)
    {
        int Enquiry = Convert.ToInt32(EnquiryID);

        hotelOBJ.FillbyQueryEnquiry1(Enquiry, txtClientph, txtClientAddress );
    }
}

私のコードがあります 私のセッションは整数に変換されません エラーは

"入力文字列は、正しい形式ではありませんでした。 "

4

3 に答える 3

3

1234abエラーは、整数に変換できない文字が含まれているなど、いずれにしても整数に変換できない文字がある可能性があることを示してabいます。

あなたができることは次のとおりです。

bool result = Int32.TryParse(Session["Enq_ID"].ToString(), out number);

if (result)
{
    hotelOBJ.FillbyQueryEnquiry1(number, txtClientph, txtClientAddress );
}
else
{
    Console.WriteLine("Attempted conversion of '{0}' failed.",
                       Session["Enq_ID"].ToString());
}
于 2013-05-30T04:44:46.057 に答える
0

int に変換しようとしている文字列が空であるか、数字ではない文字が含まれていると思います (基本的に、文字列は文字列形式で整数値を表していません)。そのため、そのエラー メッセージが表示されます。

したがって、少なくとも交換する必要があります

if (EnquiryID != null) 

if(!string.IsNullOrWhiteSpace(EnquiryID))

それが、変数を変換しようとすると、少なくとも変換するものがあることを知る方法です。

または、Int32.TryParse()関数を使用して、変換しようとする文字列が整数であるかどうかをテスト (および整数に変換) します。

于 2013-05-30T04:57:55.387 に答える