Je crée actuellement un site Web dans ASP.NET MVC. J'essaie d'accéder à ViewData en javascript.
Est-ce que je peux accéder à une valeur de chaîne à l'aide de javascript dans une vue qui a été stockée dans ViewData dans une Action Controller. (Je ne peux pas trouver la syntaxe correcte).
Je souhaite faire quelque chose comme …
Var str = ViewData ["Texte"];
J'ai essayé ce qui suit:
Var str = <% = ViewData ["Texte"]%>
Mais cela n'a pas marché.
Puis-je avoir une aide s'il vous plait.
Merci.
Like this (Razor):
var str = @Html.Raw(Json.Encode(ViewData["Text"]));
Ou (WebForms), en utilisant JavaScriptSerializer (et après avoir importé l'espace de noms de propriété sur votre formulaire web – System.Web.Script.Serialization
):
var str = <%= new JavaScriptSerializer().Serialize(ViewData["Text"])) %>;
Et n'utilisez pas ViewData dans une application ASP.NET MVC. Utilisez des modèles de vue et des vues fortement typées afin que votre code ressemble à ceci:
var str = <%= new JavaScriptSerializer().Serialize(Model.Text) %>;
Cette technique est encore plus cool, car maintenant, JSON peut sérialiser l'ensemble du modèle de visionnement:
var model = <%= new JavaScriptSerializer().Serialize(Model) %>; var str = model.Text;
Ça devrait être:
var str = '<%= ViewData["Text"] %>';