Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"using" namespace equivalent in ASP.NET markup

Tags:

asp.net

When I'm working with DataBound controls in ASP.NET 2.0 such as a Repeater, I know the fastest way to retrieve a property of a bound object (instead of using Reflection with the Eval() function) is to cast the DataItem object to the type it is and then use that object natively, like the following:

<%#((MyType)Container.DataItem).PropertyOfMyType%>

The problem is, if this type is in a namespace (which is the case 99.99% of the time) then this single statement because a lot longer due to the fact that the ASP page has no concept of class scope so all of my types need to be fully qualified.

<%#((RootNamespace.SubNamespace1.SubNamspace2.SubNamespace3.MyType)Container.DataItem).PropertyOfMyType%>

Is there any kind of using directive or some equivalent I could place somewhere in an ASP.NET page so I don't need to use the full namespace every time?

like image 205
Dan Herbert Avatar asked Aug 21 '08 20:08

Dan Herbert


2 Answers

I believe you can add something like:

<%@ Import Namespace="RootNamespace.SubNamespace1" %> 

At the top of the page.

like image 70
Shawn Avatar answered Nov 14 '22 00:11

Shawn


What you're looking for is the @Import page directive.

like image 42
Greg Hurlman Avatar answered Nov 14 '22 00:11

Greg Hurlman