Ajax オートコンプリート Web サービス呼び出し - サービス メソッド、これは正しく呼び出していますか?
-
09-06-2019 - |
質問
さて、Web サービスのメソッドには型を渡す必要があります。これは AutoCompleteExtender の ServiceMethod プロパティで呼び出されます。どのようにすればよいか曖昧なので、次のように呼び出しました。
ServiceMethod="DropDownLoad<<%=(typeof)subCategory%>>"
ここで、subCategory は次のようなページ プロパティです。
protected SubCategory subCategory
{
get
{
var subCategory = NHibernateObjectHelper.LoadDataObject<SubCategory>(Convert.ToInt32(Request.QueryString["SCID"]));
return subCategory;
}
}
解決
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 の両方でこのタイプの操作は許可されていないようです。
他のヒント
AutoCompleteExtender の ContextKey パラメーターを使用すると、型名をコンテキスト キーとして受け入れる単一の Web メソッドを使用できます。次に、Web メソッドでリフレクションとそのパラメーターを使用して、目的の string[] を返します。
所属していません StackOverflow