当传入多个字符串时,我在将 id 字符串转换为 int 时遇到问题,代码显示如下:
for(int i = 0; i < Request.Params["service"].Length; i++)
{
int serviceID = int.Parse(Request.Params["service"]);
db.ServiceAssignments.Add(serviceAssignment);
serviceAssignment.locationID = locationID;
serviceAssignment.ServiceID = serviceID;
db.SaveChanges();
}
如果你传入一个参数,你会得到:) int.Parse(Request.Params["Service"]
; = 1,然后工作并且数据库保存。但是,如果您有以下内容,您会得到:
'1,2' 这三个。我想要的是 1,然后是 2,而不是 1,2。
1和2是什么?
当您创建新位置时,您可以为该位置选择服务。在这个问题的情况下,服务 ID 是 1 和 2。如果我选择一项服务,那么它会保存并且一切都很好。当我选择两个或更多时,它不起作用。
我虽然可以这样做:
Request.Params["Service"][i]
因为“服务”毕竟是一个数组。这如何导致数据库问题和其他混乱。
那么,当您为某个位置选择 id 1 和 id 2 时,您会建议我怎样做才能保存它们?