0

データ型変換で問題が発生していますが、それを理解することはできません

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

次の例では、FriendId を int32 として使用する必要があります。

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

両方の引数が int32 であると予想されるためです。この「TargetUser」をデバッグすると、null になります。

問題は何ですか?

4

1 に答える 1

1

hiddenfield で使用可能な値がわからない場合は、使用する代わりに

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 に答える