7
votes

Comment ajoutez-vous un nouveau caractère de ligne dans la partie de chaîne d'une action d'action?

Je construis un ajax.actionLinkink en C # qui commence: xxx

et j'aimerais qu'il y ait un nouveau caractère de ligne entre les mots "F" et "Nom". Comment puis-je accomplir cela? Je pensais que le caractère spécial était \ n, mais cela ne fonctionne pas, et ne fonctionne pas non plus.


0 commentaires

9 Réponses :


1
votes

Essayez ceci:

<%= Ajax.ActionLink("f<br />lastname", ...more stuff


1 commentaires

Vous devrez peut-être envelopper cela dans @ html.raw ces jours-ci.



0
votes

Vous ne pouvez pas utiliser
car la méthode ActionLink (et en effet, je crois que toutes les méthodes d'extension HTML et AJAX) codent la chaîne. Ainsi, la sortie serait quelque chose comme xxx

ce que vous pourriez essayer serait plutôt une mise en forme: xxx


2 commentaires

Darn ne fonctionne pas. Qui me reçoit un ... "System.Web.httpCompileException a été non confilé par erreur de code d'utilisateur CS1010: nouvelle ligne en constante"


Hmm, essayant d'utiliser .replace au lieu de string.format? Je n'ai pas vraiment travaillé avec des extensions Ajax, alors je ne sais pas d'une autre façon de faire cela.



0
votes

Le \ n code> utilisé pour travailler pour moi. Mais maintenant, il semble être dédié. Alterniavy, vous pouvez utiliser la méthode de la nouvelle ligne, par exemple:

string jay = "This is a" + Environment.NewLine + "multiline" + Environment.NewLine + "statement";


0 commentaires

0
votes

Avez-vous essayé la combinaison \ r \ n?


0 commentaires

3
votes

Vous devrez peut-être revenir à faire quelque chose comme: xxx

puis filez-vous manuellement dans les bits Ajax.


0 commentaires

0
votes

Que diriez-vous:

<%= Server.UrlDecode(Ajax.ActionLink(Server.UrlEncode("f<br/>lastname"), ...more stuff


0 commentaires

0
votes

Cela fonctionne pour moi -

<%= HttpUtility.HtmlDecode(Html.ActionLink("AOT &lt;br/> Claim #", "actionName" ))%>


0 commentaires

0
votes

Je pense que la réponse d'Andrew Hare est correcte. Si vous avez une exigence légèrement plus compliquée, vous avez la possibilité de créer votre propre AjaxHelper ou HTMLHelper. Cela impliquera la création de méthodes d'extension personnalisées qui fonctionnent sur Ajaxhelper et HTMLhelPers, en faisant quelque chose comme: xxx

Vous pouvez utiliser DotPek ou votre outil de réflexion .NET préféré pour examiner les extensions standard fournies avec ASP .NET MVC (par exemple, ActionLink), etc. Pour déterminer la mise en œuvre de Microsoft la plupart de ces méthodes d'extension. Ils ont de très bons modèles pour écrire ceux-ci. Dans le passé, j'ai pris cette approche pour simplifier la sortie HTML de manière lisible, telle que, pour la création d'options telles que la création d'options telles que actionImage par exemple, @ html.actionImage (...) ou pour intégrer la sortie de textile-formatage de textiles html en activant la syntaxe telle que @ html.textile ("chaîne formatée textile") .

Si vous Définissez ceci dans un assembly séparé (comme je le fais), alors n'oubliez pas d'inclure cela dans vos références de votre projet, puis de l'ajouter à la web.config du projet.

Évidemment, cette approche est excitée pour votre spécificité Des fins, et pour cette raison, mon vote est l'approche d'Andrew Hare pour votre cas spécifique.


0 commentaires

0
votes

Cela fait plusieurs années que la question a été posée, mais j'ai eu des problèmes avec cela. J'ai trouvé la réponse à être (en MVC):

Texte de votre actionLink: ... ActionLink ("Textline1" + Environnement.Newline + "Textline2", ...

Dans l'action ActionLink, avez une classe qui pointe vers un CSS avec cette ligne:

Whitespace: Pre;

C'est ça. J'ai vu des réponses où ils ont mis toute la ligne d'action dans les balises , mais cela a provoqué plus de problèmes que ceux résolus.


0 commentaires