私のコントローラーの 1 つは、異なる json データを受け入れて、ユーザー情報を更新します。
いくつかjsonはパスワードを更新することです
{Id:1, NewPassword:'xxx'}
いくつかjsonは、ユーザーの役割を更新することです
{Id:1, Roles:['admin', 'guest']}
コントローラーに設定したのは、 NewPassword と Roles に値があるかどうかを検出することです。
if (userinfo.NewPassword != null)
{
_repository.SetNewPassword(user.UserName, serinfo.NewPassword);
}
if (userinfo.Roles != null)
{
string[] roles = userinfo.Roles.ToArray();
_repository.UpdateRolesForUser(user.UserName,roles);
}
ユーザーからすべてのロールを削除するという1つの条件を除いて、正常に機能します。その場合、送信されるjsonは
{Id: 1, Roles:[]}
その後、 aをuserinfo.Roles != null返すため、到達することはありません。false_repository.UpdateRolesForUser(user.UserName,roles);
Roles:[]私の質問: aと「true null」の違いを検出する方法は? またはのような機能はありますhasかexists?
-----更新----- このコントローラーはApiControllerで、コードはPUTアクションにあります。したがって、すべてのタイプの json がこの単一のアクションを入力する必要があります。それ以外の場合は、さまざまなアクションに対して Ajax 呼び出しを行うことができれば非常に便利です。