1

わかりましたので、私の Web サービスのメソッドには型を渡す必要があります。これは AutoCompleteExtender の ServiceMethod プロパティで呼び出されます。どのようにすればよいか分からないので、次のように呼び出しました。

ServiceMethod="DropDownLoad<<%=(typeof)subCategory%>>"

subCategory は、次のようなページ プロパティです。

protected SubCategory subCategory
{
    get
    {
        var subCategory = NHibernateObjectHelper.LoadDataObject<SubCategory>(Convert.ToInt32(Request.QueryString["SCID"]));
        return subCategory;
    }
}
4

2 に答える 2

2

AutoCompleteExtenderのContextKeyパラメーターを使用して、タイプ名をコンテキストキーとして受け入れる単一のWebメソッドを使用できます。次に、Webメソッドで、リフレクションとそのパラメーターを使用して、目的のstring[]を返します。

于 2008-09-04T23:49:13.887 に答える
1

Web サービスでジェネリック メソッドを呼び出すことはできないと思います。

2 つの同一のメソッド (1 つはジェネリック、もう 1 つはそうでない) のサービスの説明を見ると、次のようになります。

[WebMethod]
public string[] GetSearchList(string prefixText, int count)
{
}

[WebMethod]
public string[] GetSearchList2<T>(string prefixText, int count)
{
}

それらは同一です。SOAP 1.x と HTTP POST の両方が、このタイプの操作を許可していないようです。

于 2008-09-04T22:52:28.407 に答える