我正在尝试实现一个分配 IP 系统,其中 MVC 网络应用程序的管理员可以分配 IP 地址,这些地址实际上可以识别位置/工作站,如下图所示
现在,我希望将这个用户分配的 IP 与打开 MVC 应用程序的机器的 IP 进行比较,以便从该 IP 地址发送的任何数据都具有指定的位置。 我在想也许是一种搜索或迭代并找到匹配的 IP 地址的方法,我已经尝试在下面实现它但坚持如何迭代并找到匹配项
public static string LocationIPAssign()
{
var model = new Location();
string workstationLocation = ServerIPName();
foreach (Location location in model.Locations) // ICollection<Location>, IList<Location>
{
if (location.AssignedIP == workstationLocation)
{
// do whatever you have to do with your locationToAssign
}
}
return workstationLocation;
}
}
感谢任何提示或想法
如果您需要任何进一步的代码,我很乐意提供帮助
已更新 位置模型
[Table("Location")]
public partial class Location
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Location()
{
Jobs = new HashSet<Job>();
}
public int LocationID { get; set; }
[Required]
[StringLength(30)]
[Display(Name = "Location Name")]
public string LocationName { get; set; }
[RegularExpression(@"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$", ErrorMessage = "Invalid IP Address")]
public string AssignedIP { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Job> Jobs { get; set; }
public ICollection<Location> Locations { get; set; }
}
最佳答案
您也可以使用 Lambda 表达式。
Locations.where( location => location.AssignedIP == workstationLocation );
关于c# - 如何遍历模型以在 MVC 中找到相似的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850169/