1

我有 FormView 并绑定到记录的CommandArgument属性 ID:

CommandArguman='<%# Eval("Id") %>' 

但在 ItemCommand 处理程序的服务器端,这不起作用:

int id = e.CommandArgument;

并得到错误:

指定的演员表无效。

但这项工作:

int id = int.Parse(e.CommandArgument.ToString());

e.CommandArgument的返回类型 是 Object 但为什么我不能将 Object 转换为 int?

4

1 回答 1

1

如果没有特定的演员表,你不能转换和object转换,因为对象是一个字符串,所以你不能这样做。int(int)e.CommandArgument

你可以做

int id = int.Parse((string)e.CommandArgument);

ife.CommandArgument是 a string,但您将不再受益,那么您的代码

事实上,我会保留你的代码,因为如果对象为空或不是字符串,它不会被抛出。您也可以as对演员表使用安全词,但同样您不会从中受益。

进一步学习搜索“铸造”或阅读这里

于 2013-07-14T06:53:38.513 回答