2009-08-07 47 views

回答

1

试试这个:

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

你可能需要包装这在@ Html.Raw这些天。 – 2013-01-28 19:52:06

0

不能使用<br />因为ActionLink的方法(实际上我相信所有的HTML和Ajax的扩展方法)编码字符串。因此,输出会像

<a href="...">f&lt;br /&gt;lastname</a> 

什么你可以尝试,而不是将是一个格式化:

<%= string.Format(Ajax.ActionLink("f{0}lastname", ...more stuff), "<br />") %> 
+0

织补不起作用。这让我一个 - “System.Web.HttpCompileException未处理用户代码 错误CS1010:新行常量” – Whozumommy 2009-08-07 16:14:57

+0

嗯,试图使用.Replace而不是string.format?我没有真正使用ajax扩展,所以我不知道另一种方式来做到这一点。 – Joel 2009-08-07 17:48:32

0

用来为我工作的\n。但现在它似乎被摧毁了。或者,您可以使用NewLine方法,例如:

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

您试过\ r \ n组合吗?

3

您可能需要恢复到做这样的事情:

<a href="<%= Url.Action("action") %>">f<br />last</a> 
手动阿贾克斯位

再用线。

0

如何:

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

这对我的作品 -

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

我认为安德鲁野兔的答案是正确的。如果您的需求稍微复杂一点,您可以选择创建自己的AjaxHelper或HtmlHelper。这将涉及创建在AjaxHelper和HtmlHelpers工作自定义扩展方法,通过执行类似:

public static class CustomHtmlHelperExtensions 
{ 
    public static MvcHtmlString FormattedActionLink(this HtmlHelper html, ...) 
    { 
     var tagBuilder = new TagBuilder("a"); 

     // TODO : Implementation here 

     // this syntax might not be exact but you get the jist of it! 
     return MvcHtmlString.Create(tagBuilder.ToString()); 
    } 
} 

您可以使用dotPeek或你最喜欢的.NET反射工具来检查来与ASP.NET MVC标准的扩展(例如ActionLink)等,以了解Microsoft如何实现大多数这些扩展方法。他们有一些相当不错的写作模式。在过去,我采用这种方法来简化以可读的方式输出HTML,例如用于Google地图或Bing地图集成,用于创建诸如ActionImage的选项,例如@Html.ActionImage(...)或通过启用语法来集成输出纺织品格式HTML,例如@Html.Textile("textile formatted string")

如果你在一个单独的程序集中定义它(和我一样),然后记住将它包含到你的项目引用中,然后将它添加到项目的Web.config中。

显然,这种方法对于您的特定目的而言是过分的,因此,我的投票是针对您的特定情况的Andrew Hare的方法。

0

这个问题问了几年了,但我遇到了麻烦。我找到了答案,是(在MVC):

文本在您的ActionLink:... ActionLink的( “TextLine1” + Environment.Newline + “TextLine2”,...

在ActionLink的,有类指向这一行的CSS:

空白:前;

就这样我已经看到了答案,他们把整个Actionline在<预> </pre>标记,但造成更多问题比它解决了。

相关问题