2011-09-30 6 views
0

私はこのプラグインを使用しようとしています - > http://code.drewwilson.com/entry/autosuggest-jquery-plugin (壊れたリンク、githubを参照)、私はいくつかの問題を抱えてきました。asp.net mvcでJQuery autoSuggestプラグインを使用

私の意見は次のようになります。私は、これは代わりに、私は、ビュー全体のために生のHTMLを参照してくださいページを見ての上で含まれているビューを参照する場合

<span> 
    <label for="registrars">Registrar</label> 
    <input id="registrars" type="text" name="registrars" /> 
</span> 

<script type="text/javascript"> 
     $(function() { 

       var data = { items: @Html.Action("GetRegistrars", new { area = "Registrar", controller = "Home", organizationId = "0007511"}) }; 
     $("#registrars").autoSuggest(data.items, { selectedItemProp: "name", searchObjProps: "name" }); 

     }); 
    </script> 

は、ここに私のコントローラ

[HttpGet] 
    public ActionResult GetRegistrars(string organizationId) 
    { 
     var registrars = _registrationService.GetRegistrarBy(r => r.Id== organizationId) 
      .Select(s => new { 
        id = s.ID, 
        name = s.Name 
      }).ToList(); 

     return new JsonResult 
     { 
      Data = registrars, 
      JsonRequestBehavior = JsonRequestBehavior.AllowGet, 
      ContentType = "application/json" 
     }; 

    } 

です。

ところで、私がURLを参照すると、http://localhost/Registrar/Home/GetRegistrar?organizationId=0007511ここに戻ります。

[{"id":"000641","name":"TELSER, KAREN L"},{"id":"001195","name":"ALLRED, NANCY J"},{"id":"001196","name":"ANDERSON, NANCY L"},{"id":"001197","name":"BRENNER, SUSAN RICH"},{"id":"001198","name":"BRUGGER, BETTY O"},{"id":"001200","name":"ELSASS, JUDITH W"}] 

ありがとうございました!

答えて

1

少し違って使います...これもあなたのために働くかもしれません。 アレイ内のすべてのレジストラをページにレンダリングするのではなく、その配列からautosuggestを取り除くために、Jsonデータを返すアクションメソッドにURLを渡します。

この例では、im URLを作成するためにURLヘルパーを使用しますが、必要に応じてハードコードすることもできます。

 $(document).ready(function() { 
     $("#autosuggest").autoSuggest(
        "@Url.Blogging().Posts().FindCategories()", 
        { 
        minChars: 2, 
        selectedItemProp: "name", 
        searchObjProps: "name", 
        asHtmlID: 'Categories' 
        } 
      ); 
    }); 

ここにデータを戻すJsonResultがあります。

public JsonResult FindCategories(string q) 
    { 
     var results = Services.Post.FindCategories(q); 
     var model = Mapper.Map<IEnumerable<Category>, IEnumerable<AutoSuggestViewModel>>(results); 
     return Json(model, JsonRequestBehavior.AllowGet); 
    } 

希望します。