KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
With the Razor View Engine, anytime you output a string directly to the page, it's HTML encoded. e.g.: @"<p>Hello World</p>" will actually get output to the page as: <p>Hello World </p> Which would show up in the browser as: <p>Hello World </p> Here's the problem though, when creating Html helpers, till now, with the old aspx view engine I would just return a string, and output that to the browser: <%= Html.MyCoolHelperMethod(); %> So my question is basically this. Do I do this: public static IHtmlString MyCoolHelperMethod(this HtmlHelper helper) { return new helper.Raw("<p>Hello World</p>"); } in which case I can just do this in my cshtml: @Html.MyCoolHelperMethod(); or do I do this: public static string MyCoolHelperMethod(this HtmlHelper helper) { return "<p>Hello World</p>"; } in which case I need to do the work in my cshtml: @Html.Raw(Html.MyCoolHelperMethod()); Obviously the first approach makes the view look a lot cleaner, but I'm just wondering if the common pattern is in fact for helpers to return an IHtmlString and I've been doing it wrong in the past.
Tags (comma-separated)
Save Edits
Cancel