Jquery 数据表中的复合 ID
Composite Id in Jquery DataTable
我正在使用 DataTable,我需要执行 link 来访问一行。但是该行有一个复合键
密钥由IdEnvironment(int)和一个Limit(十进制)组成
这是我的模型:
public partial class ApprovalHierarchy
{
[Required]
[Display(Name = "Ambiente")]
[DataTables(DisplayName = "Ambiente", MRenderFunction = "encloseInEmTag",Order =1)]
public int IdEnvironment { get; set; }
[Required]
[Display(Name = "Límite de aprobación")]
[DataTables(DisplayName = "Límite de aprobación", MRenderFunction = "encloseInEmTag",Order =1)]
[RegularExpression("^[0-9]+([.][0-9]{1,2})?$", ErrorMessage = "El límite debe de ser un número con dos decimales")]
public decimal Limit { get; set; }
[Display(Name = "Nombre")]
[Required]
public string Name { get; set; }
[Display(Name = "Descripción")]
public string Description { get; set; }
public System.DateTime CreationDate { get; set; }
[Required]
[Display(Name = "Moneda")]
public Nullable<int> IdCurrency { get; set; }
public virtual Environment Environment { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<AspNetUsers> AspNetUsers { get; set; }
public virtual Currency Currency { get; set; }
}
}
当我把DataTable Annotation `MRenderFunction = "encolseInEmTag"
link 的 ID 发生了变化,但我需要将其作为复合键发送到参数中,以便在我的控制器中访问此方法:
// GET: /ApprovalHierarchy/Details/5
public ActionResult ModalDetails(int? id,decimal? limit)
{
if (id == null || limit ==null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ApprovalHierarchy approvalHierarchy = db.ApprovalHierarchy.First(x => x.IdEnvironment==
id && x.Limit == limit);
if (approvalHierarchy == null)
{
return HttpNotFound();
}
return PartialView("Details",approvalHierarchy);
}
我解决了在模型中创建新属性并在控制器中设置值的问题。
模型属性:
[Key,DataTables(MRenderFunction = "encloseInEmTag",Visible =false)]
public string CompositeId { get; set; }
控制器:
row.CompositeId = query.ElementAt(i).IdEnvironment + "?Limit=" + query.ElementAt(i).Limit.ToString().Replace(",",".");
我正在使用 DataTable,我需要执行 link 来访问一行。但是该行有一个复合键
密钥由IdEnvironment(int)和一个Limit(十进制)组成
这是我的模型:
public partial class ApprovalHierarchy
{
[Required]
[Display(Name = "Ambiente")]
[DataTables(DisplayName = "Ambiente", MRenderFunction = "encloseInEmTag",Order =1)]
public int IdEnvironment { get; set; }
[Required]
[Display(Name = "Límite de aprobación")]
[DataTables(DisplayName = "Límite de aprobación", MRenderFunction = "encloseInEmTag",Order =1)]
[RegularExpression("^[0-9]+([.][0-9]{1,2})?$", ErrorMessage = "El límite debe de ser un número con dos decimales")]
public decimal Limit { get; set; }
[Display(Name = "Nombre")]
[Required]
public string Name { get; set; }
[Display(Name = "Descripción")]
public string Description { get; set; }
public System.DateTime CreationDate { get; set; }
[Required]
[Display(Name = "Moneda")]
public Nullable<int> IdCurrency { get; set; }
public virtual Environment Environment { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<AspNetUsers> AspNetUsers { get; set; }
public virtual Currency Currency { get; set; }
}
}
当我把DataTable Annotation `MRenderFunction = "encolseInEmTag" link 的 ID 发生了变化,但我需要将其作为复合键发送到参数中,以便在我的控制器中访问此方法:
// GET: /ApprovalHierarchy/Details/5
public ActionResult ModalDetails(int? id,decimal? limit)
{
if (id == null || limit ==null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ApprovalHierarchy approvalHierarchy = db.ApprovalHierarchy.First(x => x.IdEnvironment==
id && x.Limit == limit);
if (approvalHierarchy == null)
{
return HttpNotFound();
}
return PartialView("Details",approvalHierarchy);
}
我解决了在模型中创建新属性并在控制器中设置值的问题。
模型属性:
[Key,DataTables(MRenderFunction = "encloseInEmTag",Visible =false)]
public string CompositeId { get; set; }
控制器:
row.CompositeId = query.ElementAt(i).IdEnvironment + "?Limit=" + query.ElementAt(i).Limit.ToString().Replace(",",".");