c# - 如何在 MVC 视图页面中使用我的 c# 类文件中定义的枚举
问题描述
我在单独的文件夹中的 c# 类文件中定义了这个枚举。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TurnaroundManagement.DataServices.Context;
using TurnaroundManagement.DataServices.Entities;
using TurnaroundManagement.DataServices.Models;
using TurnaroundManagement.DataServices.Models.EntityModels;
using static TurnaroundManagement.DataServices.Models.CommonModels;
namespace TurnaroundManagement.DataServices.EntityModels
{
public class OrdersModel
{
private TurnaroundManagementContext db = new TurnaroundManagementContext();
private CommonModels objCommonModels = new CommonModels();
public enum OrderStatus
{
Pending = 1,
Processed = 2
};
public enum MaterialStatus
{
OnScheduleDate = 1,
Delayed = 2,
Issued = 3
};
public enum DeliveryStatus
{
Pending = 1,
Delivered = 2
};
public List<Orders> GetAllOrders(int Status)
{
List<Orders> OrdersList = new List<Orders>();
try
{
OrdersList = db.Orders.Where(x => x.Status == Status).ToList();
}
catch (Exception ex)
{
objCommonModels.LogException(ex);
OrdersList = null;
}
return OrdersList;
}
}
}
我如何在我的视图页面中使用它?我无法在我的视图页面中访问它们。我有更多枚举要访问..我尝试使用这个
@using myproject.dataservices.models.myclassnamethathastheenumvariableinit;
@using static myproject.dataservices.models.myclassnamethathastheenumvariableinit;
@使用 myproject.dataservices.models;
上面没有任何工作..
解决方案
您只能using
命名空间和静态类。如果您想访问在其他类中定义的类型,如您的示例中所示。您可以using
命名空间,其中包含TurnaroundManagement.DataServices.EntityModels
您的案例中的类()。
然后你需要使用完整类型 hiracy 来访问你的枚举成员。例如
var deliveryStatus = OrdersModel.DeliveryStatus.Pending
如果您在这种层次结构中编写代码,则可以省略部分路径。
我个人只有嵌套类型,如果嵌套类型不打算公开使用。您可以将枚举安全地移动到它们自己的文件中。这也有助于其他开发人员更快地找到包含特定类型的文件。
推荐阅读
- javascript - 合并具有相同 id 的多个对象 - Lodash
- javascript - 计算并将值从选择选项传递到输入框
- javascript - 如果找不到数字,如何使它说出特定的内容(Discord.js)
- flutter - 从嵌套的 Firstore 子集合中获取特定文档到流构建器
- c# - 带有 SPA(Angular)Visual Studio Angular 模板的 User.Identity 空指针异常
- javascript - 当我从 mongoDB 检索数据时,它可以工作,但是当我通过 NodeJS 将其发送到客户端时,它返回错误
- javascript - 谷歌云函数未定义参数检测为空
- javascript - 使用jQuery调整窗口大小后如何获取背景高度?
- c# - 使用 ?。使用 LINQ 的运算符
- objective-c - 苹果电脑;智能电池;macOS Big Sur 上的制造日期