C # Получить значения из URL и вставить записи - PullRequest
0 голосов
/ 11 января 2012

В своем коде я получил через URL список разделенных запятыми идентификаторов, например,

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) должен быть одним из идентификаторов инструмента в значении, которое у меня есть. Мне нужно перебирать, пока не будут использованы все идентификаторы инструментов.

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Вы должны назначить ваше возвращаемое значение разделения:

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

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

и затем вы можете выполнить итерацию коллекции:

foreach(string item in splitted)
{
//do something
}
2 голосов
/ 11 января 2012

Вызов split не разбивает вашу строку, он возвращает массив строк.Вам нужно перечислить через этот массив, чтобы использовать один идентификатор инструмента за раз.Попробуйте следующее:

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"));
...