【发布时间】:2016-08-26 20:23:35
【问题描述】:
我正面临这个问题,但无法解决。这是来自列表。有问题
AddOnTriggerItems = gvTriggerProduct.Rows.Cast<GridViewRow>().Select(rowItem => new AddOnTriggerItem()
ProjectA.TEST.BE.AddOn addOn = new ProjectA.TEST.BE.AddOn()
{
AddCode = addCode,
CreatedTime = DateTime.Now,
ModifiedTime = DateTime.Now,
AddOnTriggers = gvTriggerProduct.Rows.Cast<GridViewRow>().Select(row => new AddOnTrigger()
{
AddOnTriggerItems = gvTriggerProduct.Rows.Cast<GridViewRow>().Select(rowItem => new AddOnTriggerItem()
{
ProductTypeID = gvTriggerProduct.Rows[rowItem.RowIndex].Cells[1].Text.ToString(),
ProductCode = gvTriggerProduct.Rows[rowItem.RowIndex].Cells[2].Text.ToString(),
CreatedTime = DateTime.Now,
ModifiedTime = DateTime.Now
}).ToList(),
ActiveStatus = 1,
CreatedTime = DateTime.Now,
ModifiedTime = DateTime.Now
}).ToList(),
AddOnProducts = gvAddOnProduct.Rows.Cast<GridViewRow>().Select(rowAddOnProducts => new AddOnProduct()
{
ProductTypeID = gvAddOnProduct.Rows[rowItem.RowIndex].Cells[2].Text.ToString(),
ProductCode = gvAddOnProduct.Rows[rowItem.RowIndex].Cells[2].Text.ToString(),
CreatedTime = DateTime.Now,
ModifiedTime = DateTime.Now,
AddOnProductAllotments = addOnProductAllotmentSession.Where(p => (p.ProductID == (Convert.ToString(((HiddenField)rowAddOnProducts.FindControl("ProductID")).Value)))).ToList(),
}).ToList()
};
【问题讨论】:
-
在 AddOnProduct 类中,ProductTypeID 是整数还是字符串?此处发布了类似的错误stackoverflow.com/questions/10407348/…
-
抛出的错误不在 ProdutTypeID 处。它位于 AddOnTriggerItems = gvTriggerProduct.Rows.Cast
().Select(rowItem => new AddOnTriggerItem() AddOnTrigger 是父级,而 AddOnTriggerItems 是子级。这是一对多的关系。不确定我是否正确书写这就像一会儿。 -
然后检查 AddOnTriggerItem 类中的 ProductTypeID。
-
我会这样说。将 1 视为 producttypeID 的字符串。我需要掩盖该信息。它最初是一个字节,值转换为字节。实际上它是 Convert.ToByte((((HiddenField)rowItem.FindControl("hfNewProductID")).Value).Split('_')[0]),
-
假设 gvTriggerProduct 是一个 GridView,为什么要将它的行转换为 GridViewRow?它们应该已经是行了。
标签: c#