Since .NET 4 its possible to use the <%: %> syntax for HTML Encoding of text.
In a repeater I use the following syntax to display data
<%# DataBinder.Eval(Container.DataItem, "fieldlabel")%>
The only way I know of to encode the output in the repeater is by using "Server.HtmlDecode". Is it possible to use the new <%: %> in a repeater just in combination with databinding so that I can remove the ugly HtlmDecode syntax. Or is an extention method my only option to improved the readability?
As of ASP.NET 4.5 this is possible using the new <%#: %>
notation
No it is not possible. The <%#
is allowing the evaulation of binding data but it use the basic <%
block.
The only thing you can do is recreate the <%:
by wrapping your code in Html.Encode
.
Eg:
<%# Html.Encode(DataBinder.Eval(Container.DataItem, "fieldlabel")) %>
The <%:
is a shortcut and I guess not every variation of the use of the blocks has been captured to include a shortbut. MS probably didn't want to complicate the issue by creating a ton of different symbols to capture the various uses and only support the most common use.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With