我是WPF的新手,想知道如何将多个参数传递给后面的代码ObjectDataProvider
。
Xaml(工作正常):
<ObjectDataProvider ObjectType="{x:Type local:GetListOpremaNajem}"
MethodName="GetOprema" x:Key="getData">
<ObjectDataProvider.MethodParameters>
<system:String>TextToSearch</system:String>
<system:Integer>5</system:Integer>
</ObjectDataProvider.MethodParameters>
对象方法:
public GetListOpremaNajem GetOprema(string searchText, UInt16 eID)
{
if (!string.IsNullOrEmpty(searchText))
{
return Databases.CallStoredOprema(currentConnSTRING, searchText, eID);
}
else
{
return new GetListOpremaNajem();
}
}
但是以下代码没有返回任何内容:
ObjectDataProvider _odProvider = new ObjectDataProvider();
_odProvider.ObjectType = typeof(GetListOpremaNajem);
_odProvider.MethodName = "GetOprema";
_odProvider.MethodParameters.Add("TextToSearch");
_odProvider.MethodParameters.Add(5);
this.DataContext = _odProvider;
仅使用一个参数(即searchText
)时,效果很好。如何在代码后面传递两个参数?我在网上搜索过,发现没有传递多个参数的语法。我究竟做错了什么?感谢。
答案 0 :(得分:1)
替换此 -
_odProvider.MethodParameters.Add(5);
与
_odProvider.MethodParameters.Add((UInt16)5);
您的方法未被调用,因为您在参数列表中添加了int
类型,但您的方法期望第UInt16
类型的第二个参数。因此,键入caste到UInt16,它应该工作正常。