开发者

server tags in markup

开发者 https://www.devze.com 2023-02-08 07:32 出处:网络
Morning all I have frequently used the old <asp:Label ID=\"lblWas\" runat=\"server\" Text=\'<%# XPath(\"FACEVALUE\") %>\'></asp:Label>

Morning all I have frequently used the old

<asp:Label ID="lblWas" runat="server" Text='<%# XPath("FACEVALUE") %>'></asp:Label>

This type of thing. when I first came across it I loved it, i'm using it again today but not quite so simply.

I have a number of extra things I would like to achieve.

  1. Apply formatting to the value. Like Text='<%# string.Format(XPath("FACEVALUE"), "{0:c}") %>'>
  2. <asp:LinkButton ID="lnkBook" runat="server" PostBackUrl='/THEATRE/' + XPath("FACEVALUE")>Book</asp:LinkButton>

For option number 2 the URL is not as I would expect, and for number 1 I cannot get the syntax correct if it's even pos开发者_Python百科sible.

I have not been able to find something suitable in google. Hopefully what I am trying to achieve is obvious from the example :)


You can use the TemplateControl.XPath(string xPathExpression, string format) override:

<asp:Label Text='<%# XPath("FACEVALUE", "{0:c}") %>' />
<asp:LinkButton Text="..." PostBackUrl='<%# XPath("FACEVALUE", "/THEATRE/{0}") %>' />

As you can see, you do not need to use string.Format because you can pass the format directly into the XPath method!


I believe for #1, you have messed up the syntax, you want to use

Text='<%# string.Format("{0:c}", XPath("FACEVALUE")) %>' 

or Text='<%# XPath("FACEVALUE", "{0:c}") %>'

For #2, you need to use data binding expressions

<asp:LinkButton ID="lnkBook" runat="server" PostBackUrl='<%# "/THEATRE/" + XPath("FACEVALUE")%>'>Book</asp:LinkButton>


For the first thing it must be Text='<%# string.Format( "{0:c}",XPath("FACEVALUE")) %>'>

and for the second one it should be

<asp:LinkButton ID="lnkBook" runat="server" PostBackUrl='/THEATRE/ + <%# XPath("FACEVALUE") %>'>Book</asp:LinkButton>
0

精彩评论

暂无评论...
验证码 换一张
取 消