如何使用GUID主键将数据加载到数据表中?

在我的项目中,我使用了数据表库来显示数据。但我遇到了问题。事实上,如果我的主键类型为int的数据。 它工作正常,但我有“guid”主键。 它会显示一些错误。我已经使用了身份进行授权和授权,因为您知道身份已经使用guid类型作为主键。当我想从控制器数据表中获取数据时,UserId出现了问题,因为UserId是“ guid ”的类型。

这是GetUsers()控制器的一个简单示例,我使用了userId类型的int。

  public ActionResult GetUsers() { List userView=new List(); var userNew=new UserViewModel { UserId = 1, UserName="info.98@gmail.com", FirstName="alex", LastName="leyonan", Gender=true, Email ="info.2000@gmail.com", IsActive =false, PhoneNumber="111111111111", Address="USA", }; userView.Add(userNew); return Json(new { data = userView }, JsonRequestBehavior.AllowGet); } 

==================================================

  $(document).ready(function () { var oTable = $('#example').DataTable({ "ajax": "/Users/GetUsers", "columns": [ { "data": "UserName", }, { "data": "FirstName", }, { "data": "LastName", }, { "data": "Gender", }, { "data": "Email", }, { "data": "IsActive", }, { "data": "PhoneNumber", }, { "data": "Address", }, { "data": "UserId", "width": "50px", "render": function (data) { return 'Edit'; } }, { "data": "UserId", "width": "50px", "render": function (data) { return 'Delete'; } } ] }); }); 

通过在渲染函数中放置此行’function(data,type,full,meta)’并使用完整参数可能会解决您的问题。

例如:

  $(document).ready(function () { var oTable = $('#example').DataTable({ "ajax": "/Users/GetUsers", "columns": [ { "data": "UserName", }, { "data": "FirstName", }, { "data": "LastName", }, { "data": "Gender", }, { "data": "Email", }, { "data": "IsActive", }, { "data": "PhoneNumber", }, { "data": "Address", }, { "data": "UserId", "width": "50px", "render": //change function(data, type, full, meta) { return 'Edit'; } }, { "data": "UserId", "width": "50px", "render": //change function(data, type, full, meta) { return 'Delete'; } } ] }); }); 

注意:如果上面没有解决问题,请参阅以下链接中的注释,您将得到一个想法。

有用链接: 如何使用ASP.NET MVC中的jQuery DataTables表插件为特定列设置数据?

UserId必须是字符串类型。

 public ActionResult GetUsers() { List userView=new List(); var userNew=new UserViewModel { UserId = Guid.NewGuid().ToString(), //Convert into string UserName="info.98@gmail.com", FirstName="alex", LastName="leyonan", Gender=true, Email ="info.2000@gmail.com", IsActive =false, PhoneNumber="111111111111", Address="USA", }; userView.Add(userNew); return Json(new { data = userView }, JsonRequestBehavior.AllowGet); }