将枚举值添加到操作内的列表中

问题描述 投票:-1回答:3

我有以下代码,其中有一些错误,我无法解决。如果用户有访问权限,我正在尝试向List添加值,然后返回List

当我尝试将它返回时,红线出现在notificationsList下面。

但我不确定我是否已经做到了这一点。

public ActionResult GetUserNotificationOptions() {

    List<NotificationOption> notificationsList = new List<NotificationOption>();

    if(UserAccountHandler.GetIsAuthorised(_db, RestrictedArea.Audits))
    {
        notificationsList.Add(NotificationOption.NewAudits);
    }
    if (UserAccountHandler.GetIsAuthorised(_db, RestrictedArea.Overview))
    {
        notificationsList.Add(NotificationOption.SiginificentDeviationInScore);
    }
    if (UserAccountHandler.GetIsAuthorised(_db, RestrictedArea.Action))
    {
        notificationsList.Add(NotificationOption.OutstandingActions);
    }

    return notificationsList;
}
c# list model-view-controller action
3个回答
1
投票

它看起来像我的类型不匹配。我的C#是生锈的,但看起来你的方法声明它返回一个ActionResult,但实际上返回一个List<NotificationOption>

有两种方法可以解决这个问题:

  1. 声明类使用public class List<NotificationOption> GetUserNotificationOptions{}返回List

要么

  1. 在返回之前将列表转换为ActionResult

0
投票

您应该将您的功能声明为:

public List<NotificationOption> GetUserNotificationOptions() {

否则返回变量与声明的返回类型不兼容。


0
投票

如果要将结果返回给客户端,可以使用JsonResult作为一种可能的选项。

public JsonResult GetUserNotificationOptions() {

    ...
    return Json(notificationsList);

}
© www.soinside.com 2019 - 2024. All rights reserved.