C#从URL中检索值并插入记录

时间:2012-01-11 13:52:31

标签: c# loops foreach sage

在我的代码中,我通过网址收到了一个逗号分隔的id列表,例如

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

我把这些变成了一个字符串(工具),我有Split。

我现在需要循环遍历每个值并在insert语句中使用它,但是我遇到了困难,任何人都可以帮忙。

下面的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之一。我需要循环,直到使用了所有工具ID。

2 个答案:

答案 0 :(得分:2)

split的调用不会拆分字符串,而是返回一个字符串数组。您需要通过此数组枚举一次使用一个工具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"));

答案 1 :(得分:2)

您必须指定拆分返回值:

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

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

然后你可以迭代集合:

foreach(string item in splitted)
{
//do something
}