异常总是在以下语句中抛出..:
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()); 为什么呢?
答案 0 :(得分:3)
好吧,我强烈怀疑是这个电话:
int.Parse(DataList2.DataKeyField)
这表明DataList2.DataKeyField
不是当前语言环境中整数的有效字符串表示形式。 (顺便说一下,你应该可能进行这种格式化,并且可能使用CultureInfo.InvariantCulture
进行解析。只应使用用户的文化来处理用户输入。)
答案 1 :(得分:1)
因为'DataList2.DataKeyField'很可能不是可解析的,而且格式不正确。
答案 2 :(得分:1)
Server.Transfer不支持查询字符串,它不是页面请求,它只是将控件转移到另一个页面。将您要传递的数据存储到Context.Items['x']=yourVal
中的其他页面,并在另一页上使用它们。