Comment puis-je formater les données en provenance d'un DataBinder.Eval déclaration dans une page ASPX?
Par exemple, je veux afficher la date de publication des articles de presse dans un format particulier dans la page d'accueil. Je suis à l'aide de la ASP.NET 2.0 contrôle Repeater pour afficher la liste des éléments d'actualité.
Le code pour que cela se passe comme ceci:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<HeaderTemplate><table cellpadding="0" cellspacing="0" width="255"></HeaderTemplate>
<ItemTemplate>
<tr><td >
<a href='http://stackoverflow.com/content/latestNews.aspx?id=<%#DataBinder.Eval(Container.DataItem, "id") %>'>
<asp:Label ID="lblNewsTitle" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "title") %>'></asp:Label>
</a>
</td></tr>
<tr><td>
<asp:Label ID="lblNewsDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "publishedDate"))%>'></asp:Label>
</td></tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate></asp:Repeater>
Est-il un moyen que je pourrais appeler une méthode personnalisée avec le DataBinder.Eval valeur comme paramètre (quelque chose comme ci-dessous)?
<asp:Label ID="lblNewsDate" runat="server" Text='<%# GetDateInHomepageFormat(DataBinder.Eval(Container.DataItem, "publishedDate")) )%>'></asp:Label>
Si oui, où dois-je écrire le GetDateInHomepageFormat méthode? J'ai essayé dans le code-behind de la page, mais a eu une erreur d'exécution? Si ce n'est pas possible, est-il un moyen de faire du formatage en ligne?