ArrayList到String - VS2008 - C#

时间:2008-11-14 19:40:00

标签: c# asp.net

  ArrayList filters = new ArrayList();
  filters.Add(new string[] { "Name", "Equals", "John" });


  ObjectDataSource1.SelectParameters.Add("AppliedFilters", 
           string.Join(",",(string[])filters.ToArray(typeof(string))));

我试图将一个参数添加到我的对象数据源,该对象数据源绑定到我的select方法,该方法应接受字符串[]。但是当SelectParameters.Add接收(字符串,字符串)或其他3个重载时,这些重载似乎对我没有正确的作用。

select方法接受一个字符串参数虽然我更喜欢它接受一个字符串[]或arraylist,但是现在我可以接受一个字符串,我应该转换回字符串[]

分辨率: 遵循这篇文章link text

已关闭,与上述问题重复。

2 个答案:

答案 0 :(得分:0)

我认为你错了。

我想,这应该是代码 ObjectDataSource1.SelectParameters.Add(filters[0], filters[2));

如果你看一下MSDN Doc,它说第一个arg应该是参数名,第二个arg应该是参数值。

请仔细阅读文档 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.parametercollection.add.aspx

答案 1 :(得分:0)

这是你的意思吗?

arrList.ToArray(typeof(string)) as string[];

或者您是否尝试将字符串连接在一起?

我认为你在这里犯的错误是,我会将它们分成三个不同的变量,而不是将它们全部放在数组列表中。在您的示例中:

var filterField = "Name";
var filterComparison = "Equals";
var filterValue = "John";