Dans un modèle de moteur de vue de rasoir, je souhaite faire ce qui suit: Je veux mettre certains code em> entre les guillemets d'un attribut HTML em>. Le problème est que le morceau de code que je veux insérer contient des citations doubles elles-mêmes. Vous pouvez facilement voir comment les choses tournent horriblement mal :-) Je sais que je peux calculer le lien dans un variable, puis l'utiliser, mais je préfère ne pas: p>
3 Réponses :
Vous n'avez pas besoin de vous échapper ou de quoi que ce soit en utilisant Razor. RAZOR est suffisamment intelligent pour savoir quand les citations sont dans les attributs car vous vous évoluez en dehors de HTML lorsque vous l'analysez.
<a href="@Url.Action("Item", new { id = Model.Item.Id, page = page })">@page</a>
Une note: si vous avez besoin d'un préfixe constant dans votre attribut combiné à une expression de rasoir, vous devez ajouter des parenthèses après le @ CHAR, sinon Razor le traite comme une adresse e-mail. Exemple: id = "préfixe @ (modèle.id)" code>
Peut-être que je n'ai peut-être pas compris votre question dans quel cas s'il vous plaît corrigez-moi mais ne pouvez-vous pas simplement:
@Html.ActionLink(page, "Question", new { id = Model.Question.Id, page = page })
Ceci peut être correct:
Triste que vous ayez voté voté - la solution à mon problème était d'ajouter @ (xxx) au lieu de sans le () de () 'S - et je présume que c'est ce que vous disiez - mettez l'objet «Action» à l'intérieur ()' S - qui résolu mon problème exactement, @xxx n'a pas fonctionné à l'intérieur de ""