asp.net mvc MVC रेजर व्यू में मॉडल से HTML स्ट्रिंग प्रदर्शित करना




asp.net-mvc razor (2)

मेरे पास एक मॉडल है जो कि लाइन ब्रेक बीआर टैग के साथ एक HTML स्ट्रिंग देता है, लेकिन मैं ब्राउज़र पर उस HTML को कैसे प्रदर्शित करूं? समस्या विराम के बजाय लाइन ब्रेक डालते हैं, जो टैग स्वतः UI पर प्रदर्शित होता है

मैंने मॉडल को एचटीएमएल के अंदर रखने की कोशिश की। रॉ (मॉडल आईटीम => आइटम। स्पीकिंग), लेकिन यह कभी भी काम नहीं करता जैसा कि एक स्ट्रिंग के अंदर की अपेक्षा करता है, और 'स्ट्रिंग' टाइप करने के लिए लैम्ब्डा अभिव्यक्ति को परिवर्तित नहीं किया जा सकता क्योंकि यह एक प्रतिनिधि प्रकार नहीं है

नीचे कोड है और मैंने कोशिश की है टिप्पणी

<div>
  @{          
     string strTest = "<br/>Line 1 <br/> Line 2<br>";
     @Html.Raw(strTest); //This works and display as expected
     @MvcHtmlString.Create(strTest); //This works and display as expected       

     @Html.Raw(Html.DisplayFor(modelItem => item.Speaking)); //This doesn't work, its show the <br />  on the screen     
     @MvcHtmlString.Create(Html.DisplayFor(modelItem => item.Speaking).ToString());   //This doent work, its show the <br />  on the screen  
     @Html.Raw(modelItem => item.Speaking) //This throw error Cannot convert lambda expression to type string                                     
    }

 </div>

किसी भी मदद या सुझाव की सराहना करें अग्रिम में धन्यवाद!


इसे इस्तेमाल करे :

@(new HtmlString(stringWithMarkup))

और आप एक HTML सहायक भी बना सकते हैं!

@helper RawText(string s) {
    @(new HtmlString(s))
}

एमवीसी 4 में

@Html.Raw(modelItem => item.Speaking) के उपयोग के बजाय

आप @Html.Raw(@Model.Speaking.ToString()) उपयोग कर सकते हैं @Html.Raw(@Model.Speaking.ToString())

यह मेरे लिए काम करता है और मुझे आशा है कि यह सहायता किसी और को भी





html-helper