複数の文字列が渡された場合、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();
}
1 つのパラメーターを渡すと、次のようになりますint.Parse(Request.Params["Service"]
。= 1、これが機能し、データベースが保存されます。ただし、次の場合は次のようになります。
'1,2' の 3 つ。私が欲しいのは、1,2 ではなく、1 と 2 です。
1と2とは?
新しい場所を作成すると、その場所のサービスを選択できます。この問題の場合、サービス ID は 1 と 2 です。1 つのサービスを選択すると保存され、すべて問題ありません。2つ以上選択するとうまくいきません。
私はできるが:
Request.Params["Service"][i]
結局、「サービス」は配列だからです。これがデータベースの問題やその他の混乱を引き起こす方法。
では、場所として選択したときに ID 1 と ID 2 を保存するために何ができると思いますか?