FormatException:输入字符串的格式不正确

时间:2011-07-13 13:00:37

标签: c# asp.net formatexception

异常总是在以下语句中抛出..:

    protected void DataList2_SelectedIndexChanged(object sender, EventArgs e)
    {
x= should get the primary key of the item selected from  a datalist
        Server.Transfer("AnswerQuestion.aspx?x=" + int.Parse(DataList2.DataKeyField) + "&question=" +"bla bla") + "&time=" + DateTime.Now);
    }

它在这里抛出异常.. :(即使我分开它   int threadID = int.Parse(DataList1.DataKeyField.ToString()); 为什么呢?

3 个答案:

答案 0 :(得分:3)

好吧,我强烈怀疑是这个电话:

int.Parse(DataList2.DataKeyField)

这表明DataList2.DataKeyField不是当前语言环境中整数的有效字符串表示形式。 (顺便说一下,你应该可能进行这种格式化,并且可能使用CultureInfo.InvariantCulture进行解析。只应使用用户的文化来处理用户输入。)

答案 1 :(得分:1)

因为'DataList2.DataKeyField'很可能不是可解析的,而且格式不正确。

答案 2 :(得分:1)

Server.Transfer不支持查询字符串,它不是页面请求,它只是将控件转移到另一个页面。将您要传递的数据存储到Context.Items['x']=yourVal中的其他页面,并在另一页上使用它们。