2009-08-07 13 views
7

मैं निर्माण कर रहा हूँ एक Ajax.ActionLink सी में # जो शुरू होता है:एक्शनलिंक के स्ट्रिंग हिस्से में आप एक नया लाइन वर्ण कैसे जोड़ते हैं?

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

और मैं वहाँ चाहते हैं शब्द "च" और "lastname" के बीच एक नई लाइन चरित्र होने के लिए। मैं यह कैसे हासिल कर सकता हूं? मैंने सोचा कि विशेष चरित्र \ n था लेकिन यह काम नहीं करता है, और <br> या तो काम नहीं करता है।

उत्तर

1

इस प्रयास करें:

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

आपको wra करना पड़ सकता है इन दिनों @ एचटीएमएल में इसे पी करें। –

0

आप <br /> उपयोग नहीं कर सकते क्योंकि ActionLink विधि (और वास्तव में मैं सभी एचटीएमएल और ajax विस्तार तरीकों का मानना ​​है) स्ट्रिंग सांकेतिक शब्दों में बदलना। इस प्रकार, उत्पादन की तरह

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

कुछ क्या आप के बजाय की कोशिश कर सकते एक स्वरूपण होगा होगा:

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

डारन काम नहीं करता है। यह मुझे एक - "सिस्टम.Web.HttpCompileException उपयोगकर्ता कोड त्रुटि CS1010 द्वारा अनचाहे किया गया था: निरंतर" – Whozumommy

+0

हम्म में नई लाइन, string.format के बजाय Reseplace का उपयोग करने का प्रयास कर रहा है? मैंने वास्तव में AJAX एक्सटेंशन के साथ काम नहीं किया है, इसलिए मुझे ऐसा करने का एक और तरीका पता नहीं है। – Joel

0

\n मेरे लिए काम करता था। लेकिन अब यह अव्यवस्थित प्रतीत होता है। Alternitavely, आप उदाहरण के लिए, न्यू लाइन पद्धति का उपयोग कर सकते हैं:

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 और 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()); 
    } 
} 

आप मानक एक्सटेंशन कि ASP.NET MVC के साथ आते हैं जांच करने के लिए dotPeek या अपने पसंदीदा नेट प्रतिबिंब उपकरण का उपयोग कर सकते हैं (उदाहरण के लिए, एक्शनलिंक) आदि यह पता लगाने के लिए कि माइक्रोसॉफ्ट ने उन अधिकांश विस्तार विधियों को कैसे कार्यान्वित किया है। उनके पास लिखने के लिए उनके पास कुछ अच्छे पैटर्न हैं। अतीत में, मैंने ActionImage जैसे @Html.ActionImage(...) या @Html.ActionImage(...) जैसे विकल्पों को बनाने के लिए या सिंटैक्स को सक्षम करके वस्त्र-स्वरूपण एचटीएमएल आउटपुट को एकीकृत करने के लिए, HTML मानचित्र या बिंग मैप्स एकीकरण के लिए, एक पठनीय तरीके से HTML को आउटपुट को सरल बनाने के लिए इस दृष्टिकोण को लिया है। @Html.Textile("textile formatted string")

यदि आप इसे एक अलग असेंबली (जैसे मैं करता हूं) में परिभाषित करता हूं, तो इसे अपने प्रोजेक्ट संदर्भों में शामिल करना याद रखें और फिर इसे प्रोजेक्ट के Web.config में भी जोड़ें।

जाहिर है, यह दृष्टिकोण आपके विशिष्ट उद्देश्यों के लिए अधिक है, और इसी कारण से, मेरा वोट आपके विशिष्ट मामले के लिए एंड्रयू हारे के दृष्टिकोण के लिए है।

0

प्रश्न पूछने के कई सालों बाद, लेकिन मुझे इससे परेशानी हुई।मैंने पाया जवाब (MVC में) होने के लिए: अपने ActionLink में

पाठ: ... ActionLink ("TextLine1" + Environment.Newline + "TextLine2", ...

ActionLink में, एक है वर्ग है कि इस लाइन के साथ एक सीएसएस के लिए अंक:

खाली स्थान के:। पूर्व;

यह है कि मैं जवाब है, जहां वे < पूर्व> </pre> टैग में पूरे Actionline डाल देखा है, लेकिन है कि वजह से अधिक इससे हल होने की समस्याएं।

संबंधित मुद्दे