Question: In an ascx file I'm presenting data from a databound field like this:

```
<%# Eval("Description")%>

```

The data source is bound from code behind.

Sometimes `Description` has some characters in it that I need to replace. I would love if I could just do something like this: 

```
<%# Replace(Eval("Description"), "a", "b")%>

```

But of course that's not allowed in a databind operation `(<%#)`.

I don't want to hard code it in code behind because it would be so ugly to extract the field in code behind, maybe extract it to a variable and then output the variable on the ascx page. I'm hoping there is some (probably really easy) way I can do the replace directly on the ascx page.

Answer: 
You can cast the value to a string and handle it like so:

```
<%# ((string)Eval("Description")).Replace("a", "b") %>

```

Or

```
<%# ((string)DataBinder.Eval(Container.DataItem, "Description")).Replace("a", "b") %>

```

Be careful though, because if `Description` is `null` you will hit a `NullReferenceException`. You could do the following to avoid this:

```
<%# ((string)Eval("Description") ?? string.Empty).Replace("a", "b") %>

```
You could databind to an anonymous type containing all of the information you want (including this) which is populated from the codebehind - much less ugly than extracting it to a variable.