当用户是管理员时更改 Guid 变量
本文关键字:Guid 变量 用户 管理员 | 更新日期: 2023-09-27 18:36:37
我正在构建一个快速原型应用程序,该应用程序有两个硬编码用户,其中包含测试数据的患者用户和管理员。也可以创建新用户,但不会显示任何只能添加的数据。我遇到一种情况,即我调用一个将 Guid 作为参数的方法。当用户是管理员时,我想为预先存在的患者用户传递一个硬编码的 Guid,当不是管理员时,我想将其基于附加到用户会话的 Guid,下面是我的剃须刀代码,目前不起作用。
Guid patientID = new Guid("3aac8d07-ad35-e311-8bdf-9ebf7757768f");
@if(userSession.IsAdmin == "TRUE")
{
System.Data.DataSet ds = MeasuredHealthBeta1.Utilities.DataHelper.Measurements_Get306060DayGlucoseMeasurements(patientID );
}
else
{
System.Data.DataSet ds = MeasuredHealthBeta1.Utilities.DataHelper.Measurements_Get306060DayGlucoseMeasurements(userSession.UserIDNative);
}
当使用以下方法加载包含此 razor 代码的视图时,会发生错误"外部组件已引发异常"
@{Html.RenderPartial("../Metrics/ReportsHistoryList", Model, new ViewDataDictionary(this.ViewData) { { "MeasurementTypeGroupIDs", defaultMeasurementTypeIDs } });}
我遇到的问题实际上是DataSet ds
是在 if 语句的范围之外使用的。为了解决这个问题,而不是用条件包装方法调用,我包装了我试图传入的 Guid。这是我使用的代码,最终为我工作,它很脏/黑客,我很可能也不需要其他代码。
Guid patientID = userSession.UserIDNative;
if(userSession.IsAdmin.ToUpper() == "TRUE")
{
patientID = new Guid("3aac8d07-ad35-e311-8bdf-9ebf7757768f");
}
else
{
patientID = userSession.UserIDNative;
}
System.Data.DataSet ds = MeasuredHealthBeta1.Utilities.DataHelper.Measurements_Get306060DayGlucoseMeasurements(patientID);