Je veux lier des données pour le marquer avec ViewBag et, malheureusement, cela ne fonctionne pas.Jquery TagIt problème en utilisant ViewBag comme plugin de source de données
Donc, voici mon contrôleur:
public ActionResult ArticleEdit(Guid id)
{
ViewBag.Tags = db.Tags.Select(tag => tag.Name).ToList();
Article article = db.Articles.Single(a => a.ArticleID == id);
return View(article);
}
Et moi:
<div class="tags">
<label for="tags">
Tags</label>
<ul id="mytags">
</ul>
</div>
Javascript:
$(document).ready(function() {
$("#mytags").tagit({
availableTags: @Html.Raw(Json.Encode(@ViewBag.Tags))
});
});
Il rend aussi:
$(document).ready(function() {
$("#mytags").tagit({
availableTags: ["boool! ","asd ","asdasdasd "]
});
});
Si j'utilise availableTags: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "perl"]
cela fonctionne parfaitement bien.
J'ai essayé le plugin jquery auto complete avec ViewBag et cela fonctionne. Voici le code pour elle:
<div class="ui-widget">
<label for="tags">
Tags:
</label>
<input id="tags" />
</div>
$(function() {
var availableTags = @Html.Raw(Json.Encode(@ViewBag.Tags));
$("#tags").autocomplete({
source: availableTags
});
});
Toutes les idées que peut-il être? J'utilise MVC3 avec Razor. Et quand je availableTags
avec ViewBag
, le champ de saisie disparaît tout simplement.
Pouvez-vous vérifier deux fois rendu HTML, car cela devrait fonctionner: http://jsfiddle.net/XT6Aj /. Avez-vous vérifié dans votre navigateur JS console y at-il des erreurs? – nemesv
J'ai vérifié deux fois, ça s'est bien passé. J'ai seulement 'la compilation conditionnelle est éteinte' dans le studio visuel. de toute façon cela fonctionne maintenant, merci pour l'attention à mon problème) – makambi
Salut @makambi. Pas besoin de marquer le titre comme [fixe] - il suffit de cocher votre réponse ':)'. – halfer