“using” namespace equivalent in ASP.NET markup

2020-06-07 05:00发布

问题:

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?

回答1:

I believe you can add something like:

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

At the top of the page.



回答2:

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



标签: asp.net