标记中的服务器标记

时间:2011-02-04 12:04:39

标签: c# asp.net

早上我经常使用旧的

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

这类事。当我第一次遇到它时,我喜欢它,我今天再次使用它,但不是那么简单。

我想要实现一些额外的事情。

  1. 将格式应用于值。与Text='<%# string.Format(XPath("FACEVALUE"), "{0:c}") %>'>
  2. 一样
  3. <asp:LinkButton ID="lnkBook" runat="server" PostBackUrl='/THEATRE/' + XPath("FACEVALUE")>Book</asp:LinkButton>
  4. 对于选项编号2,URL不是我所期望的,对于数字1,如果可能的话,我无法正确理解语法。

    我一直无法找到适合谷歌的东西。希望我从这个例子中明白我想要实现的目标:)

3 个答案:

答案 0 :(得分:1)

您可以使用TemplateControlXPath(string xPathExpression, string format)覆盖:

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

如您所见,您不需要使用string.Format,因为您可以将格式直接传递给XPath方法!

答案 1 :(得分:1)

我相信#1,你搞砸了语法,想要使用

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

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

对于#2,您需要使用数据绑定表达式

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

答案 2 :(得分:0)

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

而第二个应该是

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