Поместите список в скрипт jQuery MVC3 - PullRequest
1 голос
/ 03 января 2012

Я использую jQuery UI Autocomplete.Часть сценария:

$("input[data-autocomplete]").each(function () {
var availableTags = ["first", "second"];

И он работает - автозаполнение с «первым» и «вторым»

Теперь я хочу динамически назначать теги avalibleTags примерно как

или

var availableTags = @Url.Action('Tags","Home")

Это возможно?Как это сделать хорошо?

Ответы [ 2 ]

1 голос
/ 03 января 2012

На ваш взгляд вы можете сделать:

<script type="text/javascript">
$(function () {
   var MyTags =  $.getJSON('@Url.Action("Tags","Home")' function (MyList) {
       // Do something with List
       // var avaliableTags = MyList;
    }); 
 });
 </script>

(используется JQuery)

Будет работать. Где действие в контроллере, как:

    [AcceptVerbs(HttpVerbs.Get)]
    public JsonResult Tags()
    {
        var MyList == YOUR TAGS
        return Json(MyList , JsonRequestBehavior.AllowGet);        
    }

Обратите внимание, использование атрибута и JSON для обеспечения связи Javascript.

Редактировать: woops, используемые ключевые слова.

0 голосов
/ 03 января 2012

Конечно, просто убедитесь, что JSON кодирует его:

var availableTags = @Json.Encode(ViewBag.Something);

и так как я ненавижу ViewBag и рекомендую вам всегда использовать модели представления и строго типизированные представления:

var availableTags = @Json.Encode(Model.Something);

Предполагается, что Something - это массив свойств строк в модели представления, поэтому при отображении страницы вы получите:

var availableTags = ["first", "second"];

и сможет использовать его с плагином автозаполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...