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;

パラメータを 1 つだけ使用する場合 (つまりsearchText)、うまく機能します。コードビハインドで両方のパラメーターを渡すにはどうすればよいですか? Web を検索しましたが、複数のパラメーターを渡すための構文が見つかりませんでした。私は何を間違っていますか?ありがとう。

4

1 に答える 1

1

これを交換してください -

_odProvider.MethodParameters.Add(5);

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

intパラメータリストに型を追加しているため、メソッドは呼び出されませんが、メソッドは type の2番目のパラメータを期待していますUInt16。そのため、UInt16 にキャストすると、正常に動作するはずです。

于 2012-10-02T18:40:07.280 に答える