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
已关闭,与上述问题重复。
答案 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";