9
votes

Code de rasoir entre guillemets doubles

Dans un modèle de moteur de vue de rasoir, je souhaite faire ce qui suit: Je veux mettre certains code entre les guillemets d'un attribut HTML . Le problème est que le morceau de code que je veux insérer contient des citations doubles elles-mêmes. XXX

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: xxx


0 commentaires

3 Réponses :


20
votes

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>


1 commentaires

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)"



8
votes

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 })


0 commentaires

2
votes

Ceci peut être correct: xxx


1 commentaires

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 ""