将对象强制转换为int dons';不起作用

本文关键字:dons 不起作用 int 对象 转换 | 更新日期: 2023-09-27 18:22:18

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

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

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

int id = e.CommandArgument;

并获得错误:

指定的强制转换无效。

但这项工作:

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

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

将对象强制转换为int dons';不起作用

如果没有特定的强制转换(如(int)e.CommandArgument),就无法将和object强制转换为int,而且由于对象是字符串,因此无法执行此操作。

你可以做

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

如果e.CommandArgumentstring,但你不会再从中受益,那么你的代码

事实上,我会让你的代码保持原样,因为如果对象为null或不是字符串,它就不会被抛出。你也可以在演员阵容中使用安全词as,但你不会从中受益。

如需进一步学习,请搜索"铸造"或阅读此处