Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FormatException:输入字符串的格式不正确_C#_Asp.net_Formatexception - Fatal编程技术网

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

C# FormatException:输入字符串的格式不正确,c#,asp.net,formatexception,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.DataKeyFiel

异常始终在以下语句中引发..:

    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());
为什么?

因为“DataList2.DataKeyField”很可能不可解析,格式也不正确。

因为“DataList2.DataKeyField”很可能不可解析,格式也不正确。

我强烈怀疑是这个调用:

int.Parse(DataList2.DataKeyField)

这表明
DataList2.DataKeyField
不是当前区域设置中整数的有效字符串表示形式。(顺便说一句,您可能应该使用
CultureInfo.InvariantCulture
进行格式化和解析。只有用户输入才应该使用用户的区域性进行处理。)

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

int.Parse(DataList2.DataKeyField)

这表明
DataList2.DataKeyField
不是当前区域设置中整数的有效字符串表示形式。(顺便说一句,您可能应该使用
CultureInfo.InvariantCulture
进行格式化和解析。只有用户输入才应该使用用户的区域性进行处理。)服务器。传输不支持查询字符串,它不是页面请求,只是将控制权传输到另一个页面。将要传递到另一个页面的数据存储在
上下文中。项['x']=yourVal
并在另一页上使用它们。

服务器。传输不支持查询字符串,它不是一个页面请求,只是将控制权传输到另一页。将要传递到另一页的数据存储在
上下文中。项['x']=yourVal
并在另一页上使用它们。

其中exaclty,可以是Parse或SelectedValue为null。字符串的x参数为null。其中exaclty,可以是Parse或SelectedValue为null。字符串的x参数为null。但即使我替换了DataList2.DataKeyField.toString..它也会出现在这里ThreadID=int、 解析(this.Request[“x”]),并告诉我字符串输入的格式不正确:(但即使我替换了DataList2.DataKeyField.toString.。它在这里显示ThreadID=int.Parse(this.Request[“x”]);并告诉我字符串输入的格式不正确:(如何将项目合并到字符串中?阅读这些文章。如何将项目合并到字符串中?阅读这些文章。int threadID=int.Parse(DataList1.DataKeyField.ToString());//例外……我怎样才能更正this@Matrix001:修复您的数据!说真的,我们不知道此数据来自何处,但您显然无法将其作为整数进行分析。为什么您认为您应该能够这样做?您是否查看了实际值?Datakeyfield是要在选定行的datakey中返回的字段。通常用于标识主键值。我认为这是一个集合或其他东西。我正在尝试从中获取主键it@Matrix001:你认为这是一个集合还是什么?当然你应该知道你自己的键是什么…但听起来它们不是整数的字符串表示。不要只是猜测-确定。我们帮不了你那就是。我正在尝试获取主键。根据我现在阅读的内容,它们位于DataKeys集合内。但我需要在选择特定行时找到datalist的索引,然后需要将其传递给集合..例如DataKeys[e.Item.ItemIndex]。问题是eventhandling方法的eventargs中没有该参数。。请参阅上面更新的代码int threadID=int.Parse(DataList1.DataKeyField.ToString());//例外……我怎样才能更正this@Matrix001:修复您的数据!说真的,我们不知道此数据来自何处,但您显然无法将其作为整数进行分析。为什么您认为您应该能够这样做?您是否查看了实际值?Datakeyfield是要在选定行的datakey中返回的字段。通常用于标识主键值。我认为这是一个集合或其他东西。我正在尝试从中获取主键it@Matrix001:你认为这是一个集合还是什么?当然你应该知道你自己的键是什么…但听起来它们不是整数的字符串表示。不要只是猜测-确定。我们帮不了你那就是。我正在尝试获取主键。根据我现在阅读的内容,它们位于DataKeys集合内。但我需要在选择特定行时找到datalist的索引,然后需要将其传递给集合..例如DataKeys[e.Item.ItemIndex]。问题是eventhandling方法的eventargs中没有该参数。。请参阅上面更新的代码