我遇到了数据类型转换的问题,我只能弄清楚
HiddenField hfFriendId = item.FindControl("hfFriendId") as HiddenField;
Int32 FriendId = Convert.ToInt32(hfFriendId.Value);
我需要在下面的
中使用FriendId和int32UserInfo TargetUser = UserController.GetUserById(PortalSettings.PortalId, FriendId);
因为两个args都应该是int32。 当我调试这个'TargetUser'时为空。
问题可能是什么?
答案 0 :(得分: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
方法可能会出现问题。