【发布时间】:2016-03-23 20:13:03
【问题描述】:
您好,GUID 未正确传递。
我的表格
客户
CustomerID uniqueidentifier primarykey 不为空,
显示名称 varchar(100)
打印名称 varchar(100)
客户地址表
CustomerAddressID uniqueidentifier primarykey 不为空,
客户 ID 唯一标识符为空,
AddressID uniqueidentifier null
地址
AddressID uniqueidentifier primarykey 不为空,
显示名称 varchar(100)
街道 varchar(100)
位置 varchar(100)
AreaID 唯一标识符为空,
密码 varchar(100)
我的模型
public class CustomerModel1
{
public System.Guid CustomerID { get; set; }
public string DisplayName { get; set; }
public string PrintName { get; set; }
}
public partial class CustomerAddressModel
{
public System.Guid CustomerAddressID { get; set; }
public Nullable<System.Guid> CustomerID { get; set; }
public Nullable<System.Guid> AddressID { get; set; }
}
public partial class AddressModel
{
public System.Guid AddressID { get; set; }
public string DisplayName { get; set; }
public string Street { get; set; }
public string Location { get; set; }
public Nullable<System.Guid> AreaID { get; set; }
public string PinCode { get; set; }
}
我的视图模型
public class CustomerViewModel
{
public System.Guid CustomerID { get; set; }
public string CustomerName { get; set; }
public System.Guid CustomerAddressID { get; set; }
public System.Guid AddressID { get; set; }
public string Address { get; set; }
public string Street { get; set; }
public string Location { get; set; }
public Nullable<System.Guid> AreaID { get; set; }
public string PinCode { get; set; }
}
public class VisitorsEntities1 : DbContext
{
public DbSet Customer { get; set; }
public DbSet CustomerAddress { get; set; }
public DbSet Address { get; set; }
}
我的控制器
public ActionResult Create()
{
VisitorsEntities1 db = new VisitorsEntities1();
ViewBag.AreaID = new SelectList(db.Area, "AreaID", "DisplayName", "PrintName");
return View();
}
[HttpPost]
public ActionResult Create(CustomerViewModel viewmodel)
{
ViewBag.AreaID = new SelectList(db.Area, "AreaID", "DisplayName", viewmodel.AreaID);
var Cusobj = Guid.NewGuid();
var CusAddobj = Guid.NewGuid();
var Addobj = Guid.NewGuid();
var Customerobj = new Customer()
{
CustomerID = Cusobj,
DisplayName = viewmodel.CustomerName,
PrintName = viewmodel .CustomerName
};
var CustomerAddressobj = new CustomerAddress()
{
CustomerAddressID = CusAddobj,
CustomerID = viewmodel.CustomerID,
AddressID = viewmodel.AddressID
};
var Addressobj = new Address()
{
AddressID = Addobj,
DisplayName= viewmodel.CustomerName,
Street=viewmodel.Street,
Location= viewmodel.Location,
AreaID = viewmodel.AreaID,
PinCode= viewmodel.PinCode
};
db.Customer.Add(Customerobj);
db .CustomerAddress.Add(CustomerAddressobj );
db.Address.Add(Addressobj);
db.SaveChanges();
return View()
}
这里的 AreaID 是 SubForm 所以我使用 ViewBag 在视图中引入下拉菜单并传递 Guid。现在我的问题是客户地址表。
var CustomerAddressobj = new CustomerAddress()
{
CustomerAddressID = CusAddobj,
CustomerID = viewmodel.CustomerID,
AddressID = viewmodel.AddressID
};
Here CustomerAddressID is new Guid is working fine. But
CustomerID = viewmodel.CustomerID,
AddressID = viewmodel.AddressID
这两行的 Guid 未正确传递。在表中,这些列是 00000-0000-0000-0000 它没有显示任何错误,也没有正确传递 GUID。我不知道问题是什么。请任何人帮助解决这些问题?
错误
谢谢。
【问题讨论】:
-
viewmodel.CustomerID和viewmodel.AddressID得到了什么?
标签: javascript c# jquery twitter-bootstrap asp.net-mvc-4