使用 Navigate on screen OnVisible 重定向未经授权的用户

Redirect unauthorized users using Navigate on screen OnVisible

如果用户未授权其他导航,我的屏幕在可见参数条件下有问题,如果用户无权查看屏幕中的特定内容,则用户将被重定向到另一个屏幕。如果还有其他选择,请提供解决方案。

If(
    IsBlank(
            Param("ID")
   ),
   0,
   If (
        LookUp(
                <<Table_Name>>, 
                <<Field_name>> = Param("ID"),
                <<Field_name>>
              ) = Office365Users.MyProfile().Mail,
        Param("ID"),
        Navigate(Auth_404)
      )
)

提前致谢

您可以通过变通方法实现此目的,

有一个按钮 'button_A' 开启 select = Navigate(Auth_404) 然后将屏幕不可见更改为

If(
IsBlank(
        Param("ID")),0,If (
    LookUp(
            <<Table_Name>>, 
            <<Field_name>> = Param("ID"),
            <<Field_name>>
          ) = Office365Users.MyProfile().Mail,
    Param("ID"),
    Select(button_A)
  ))

有关 Trigger OnSelect on a Button

的更多信息

您是否考虑过将代码移至应用程序的 OnStart,而不是执行第一个屏幕的代码 OnVisible