1

我是 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)时,效果很好。如何在后面的代码中传递两个参数?我在网上搜索过,没有发现传递多个参数的语法。我究竟做错了什么?谢谢。

4

1 回答 1

1

替换这个 -

_odProvider.MethodParameters.Add(5);

_odProvider.MethodParameters.Add((UInt16)5);

您的方法没有被调用,因为您int在参数列表中添加了类型,但您的方法需要 type 的第二个参数UInt16。因此,将 caste 键入 UInt16 ,然后它应该可以正常工作。

于 2012-10-02T18:40:07.280 回答