【问题标题】:C# Retrieve Values from URL and insert recordsC# 从 URL 中检索值并插入记录
【发布时间】:2012-01-11 13:52:31
【问题描述】:

在我的代码中,我通过 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 之一。我需要循环,直到所有的工具 id 都被使用完。

【问题讨论】:

    标签: c# loops foreach sage


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你必须分配你的拆分返回值:

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

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

      然后你可以迭代集合:

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

      【讨论】:

        猜你喜欢
        • 2011-07-14
        • 1970-01-01
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多