<% =expression%> not evaluated in custom control attributes
- From: James Hawkins <not@xxxxxxxxxxxx>
- Date: Wed, 13 Dec 2006 15:38:39 GMT
Let's say my ASPX page codebehind has a method S() which returns a
string value (of let's say a constant "string").
If I do this (hope all these special chars make it through) on an ASPX
page:
<a href='<%=S()%>'>Link</a>
this renders as one might expect; i.e. S() is evaluated and the html
rendered will be something like:
<a href='string'>Link</a>
With a server control:
<asp:HyperLink
runat="server"
NavigateUrl='<%=S()%>'>
Link
</asp:HyperLink>
I instead get:
<a href='<%=S()%>'>Link</a>
i.e. the expression is not evaluated. This appears to be the same for
most or perhaps all attributes of most or perhaps all server controls.
I'm creating a custom control (derived from WebControl) where I would
prefer to have these expressions evaluated in attributes (or at least
some of them) before they are passed to the control. I'd imagine that
this is probably done by specifying an attribute for the control
property or perhaps for the control as a whole, as the evaluation
needs to occur prior to the attribute value being passed to the
control, which has no context for evaluation at that point.
The control in question is not data bound.
Is this possible? Is it perhaps possible with a different syntactical
construction; e.g. perhaps with <%# %>?
(VS2005, ASP.NET2.0)
.
- Follow-Ups:
- Re: <% =expression%> not evaluated in custom control attributes
- From: Axel Dahmen
- Re: <% =expression%> not evaluated in custom control attributes
- From: James Hawkins
- Re: <% =expression%> not evaluated in custom control attributes
- Prev by Date: Itemtemplate requires unique control's id's
- Next by Date: Re: <% =expression%> not evaluated in custom control attributes
- Previous by thread: Itemtemplate requires unique control's id's
- Next by thread: Re: <% =expression%> not evaluated in custom control attributes
- Index(es):
Relevant Pages
|