尝试在asp.net下拉列表中创建默认行时出现以下错误:从字符串“x”转换为“整数”类型无效。
**
Dim DefaultSalesAgent = (From o In db.PayoutRegisters
Join s In db.SalesAgents On s.SalesAgentId Equals o.SalesAgentID
Where o.PayoutRegisterID = PayoutRegisterID
Select o.PayoutRegisterID, x = s.CSRName + " (" + o.PaidThruDate.ToString + ")").ToList
If DefaultSalesAgent.Count > 0 Then
CmbSalesAgents.Items.Insert(0, New ListItem(DefaultSalesAgent.Item("x").ToString, PayoutRegisterID))
Else
CmbSalesAgents.Items.Insert(0, New ListItem("Select Sales Agent Payout Register", 0))
End If
答案 0 :(得分:1)
由于DefaultSalesAgent是一个列表对象,那么你应该通过整数索引而不是字符串来访问它的项目:
DefaultSalesAgent.Item(integer_index)
答案 1 :(得分:0)
如果您特别需要根据字符串值插入行,则可以替换
DefaultSalesAgent.Item("x")
使用
DefaultSalesAgent.Item(DefaultSalesAgent.FindIndex(x => x.StartsWith("x")));
您也可以根据需要使用contains而不是startswith。请注意,这只是在您特别需要查找字符串时,因为它比访问列表中的索引要贵得多。