0

我遇到了数据类型转换的问题,我只能弄清楚

 HiddenField hfFriendId = item.FindControl("hfFriendId") as HiddenField;
 Int32 FriendId = Convert.ToInt32(hfFriendId.Value);

我需要在下面使用 FriendId as 和 int32

UserInfo TargetUser = UserController.GetUserById(PortalSettings.PortalId, FriendId);

因为两个 args 都应该是 int32。当我调试这个 'TargetUser' 为空。

问题可能是什么?

4

1 回答 1

1

如果您不确定隐藏字段中可用的值,则不要使用

Int32 FriendId = Convert.ToInt32(hfFriendId.Value);

尝试

int FriendId = int.Parse(hfFriendId.Value); // will throw exception if parse fails

或更好

int FriendId ;
if(int.TryParse(hfFriendId.Value, out FriendId))
     //get userinfo

UserController.GetUserById如果 Convert 获取解析的值并且不返回零,那么您的方法也可能存在问题。

于 2012-10-04T05:26:40.480 回答