我有以下代码,其中有一些错误,我无法解决。如果用户有访问权限,我正在尝试向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#是生锈的,但看起来你的方法声明它返回一个ActionResult
,但实际上返回一个List<NotificationOption>
。
有两种方法可以解决这个问题:
public class List<NotificationOption> GetUserNotificationOptions{}
返回List要么
ActionResult
。您应该将您的功能声明为:
public List<NotificationOption> GetUserNotificationOptions() {
否则返回变量与声明的返回类型不兼容。
如果要将结果返回给客户端,可以使用JsonResult
作为一种可能的选项。
public JsonResult GetUserNotificationOptions() {
...
return Json(notificationsList);
}