2016-08-26 11 views
1

フィルタステートメント変数をビューステート変数に格納し、ポストバック後にそのviewstate変数値にアクセスします。viewstateにelasticsearchクエリを格納してアクセスする方法

1)ViewState["company"] = Query<company>.QueryString(q => q.Query(search));

2)var queryVar =ViewState["company"];

3)

var s = new SearchDescriptor<company>() 
     .Index("search") 
     .Type("company") 
     .From(startRowNumber) 
     .Size(10) 
     .Query(q => queryVar); 

エラー:暗黙Nest.QueryContainerに型オブジェクトを変換することはできません。

答えて

1

ViewStateは強く型付けされたコレクション(IDictionaryの実装に基づいています)ではないため、インデクサーから返されたオブジェクト型を、それがわかっている型にキャストする必要があります。あなたの質問のエラーにより、このタイプは、Nest.QueryContainer

public class company {} 
var search = "my search"; 

ViewState["company"] = Query<company>.QueryString(q => q.Query(search)); 
var queryVar = (Nest.QueryContainer)ViewState["company"]; 

var s = new SearchDescriptor<company>() 
    .Index("search") 
    .Type("company") 
    .From(startRowNumber) 
    .Size(10) 
    .Query(q => queryVar); 
関連する問題