0

私のコードでは、URLを介して、IDのコンマ区切りリストを受け取りました。

12,13,14,15,16 etc..

これらを分割した文字列(ツール)に入れました。

各値をループして挿入ステートメントで使用する必要がありますが、行き詰まってしまいました。

以下の C# は SDK に基づいているため、見たことのない関数がいくつか使用されています。

string userc = GetContextInfo("User", "UserId");
string tools = Dispatch.EitherField("selectedTools");
tools.Split(',');

string pID = Dispatch.EitherField("key16");

Record recRelTool = new Record("RelatedTools");
recRelTool.SetField("rato_CreatedBy", userc);
recRelTool.SetField("rato_Status", "active");
recRelTool.SetField("rato_server", pID);
recRelTool.SetField("rato_tool", tools);
recRelTool.SaveChanges();
Dispatch.Redirect(Url("1453"));

("rato_tools", tools)私が持っている値のツールIDの1つである必要がある場所。すべてのツール ID が使用されるまでループする必要があります。

4

2 に答える 2

2

splitの呼び出しは文字列を分割しません。文字列の配列を返します。一度に 1 つのツール ID を使用するには、この配列を列挙する必要があります。次のことを試してください。

string userc = GetContextInfo("User", "UserId");
string tools = Dispatch.EitherField("selectedTools");
string[] toolIds = tools.Split(',');
foreach (string toolId in toolIds) 
{
  Record recRelTool = new Record("RelatedTools");
  recRelTool.SetField("rato_CreatedBy", userc);
  recRelTool.SetField("rato_Status", "active");
  recRelTool.SetField("rato_server", pID);
  recRelTool.SetField("rato_tool", toolId);
  recRelTool.SaveChanges();
}

Dispatch.Redirect(Url("1453"));
于 2012-01-11T13:57:23.790 に答える
2

分割の戻り値を割り当てる必要があります。

var splitted = tools.Split(',');

http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

その後、コレクションを反復できます。

foreach(string item in splitted)
{
//do something
}
于 2012-01-11T13:58:39.640 に答える