我建立一個Ajax.ActionLink在C#這將啓動:如何在ActionLink的字符串部分添加NEW LINE字符?
<%= Ajax.ActionLink("f lastname", ...more stuff
,我想那裏是詞「F」和「姓氏」之間的新行字符。我怎樣才能做到這一點?我認爲這個特殊字符是\ n,但這不起作用,並且<br>
也不起作用。
我建立一個Ajax.ActionLink在C#這將啓動:如何在ActionLink的字符串部分添加NEW LINE字符?
<%= Ajax.ActionLink("f lastname", ...more stuff
,我想那裏是詞「F」和「姓氏」之間的新行字符。我怎樣才能做到這一點?我認爲這個特殊字符是\ n,但這不起作用,並且<br>
也不起作用。
試試這個:
<%= Ajax.ActionLink("f<br />lastname", ...more stuff
不能使用<br />
因爲ActionLink的方法(實際上我相信所有的HTML和Ajax的擴展方法)編碼字符串。因此,輸出會像
<a href="...">f<br />lastname</a>
什麼你可以嘗試,而不是將是一個格式化:
<%= string.Format(Ajax.ActionLink("f{0}lastname", ...more stuff), "<br />") %>
織補不起作用。這讓我一個 - 「System.Web.HttpCompileException未處理用戶代碼 錯誤CS1010:新行常量」 – Whozumommy 2009-08-07 16:14:57
嗯,試圖使用.Replace而不是string.format?我沒有真正使用ajax擴展,所以我不知道另一種方式來做到這一點。 – Joel 2009-08-07 17:48:32
用來爲我工作的\n
。但現在它似乎被摧毀了。或者,您可以使用NewLine方法,例如:
string jay = "This is a" + Environment.NewLine + "multiline" + Environment.NewLine + "statement";
您試過\ r \ n組合嗎?
您可能需要恢復到做這樣的事情:
<a href="<%= Url.Action("action") %>">f<br />last</a>
手動阿賈克斯位
再用線。
如何:
<%= Server.UrlDecode(Ajax.ActionLink(Server.UrlEncode("f<br/>lastname"), ...more stuff
這對我的作品 -
<%= HttpUtility.HtmlDecode(Html.ActionLink("AOT <br/> Claim #", "actionName"))%>
我認爲安德魯野兔的答案是正確的。如果您的需求稍微複雜一點,您可以選擇創建自己的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的方法。
這個問題問了幾年了,但我遇到了麻煩。我找到了答案,是(在MVC):
文本在您的ActionLink:... ActionLink的( 「TextLine1」 + Environment.Newline + 「TextLine2」,...
在ActionLink的,有類指向這一行的CSS:
空白:前;
就這樣我已經看到了答案,他們把整個Actionline在<預> </pre>標記,但造成更多問題比它解決了。
你可能需要包裝這在@ Html.Raw這些天。 – 2013-01-28 19:52:06