Comment puis-je formater des données provenant d'une instruction DataBinder.Eval dans une page ASPX? Par exemple, je souhaite afficher la date de publication des actualités dans un format particulier sur la page d'accueil. J'utilise le contrôle Répéteur ASP.NET 2.0 pour afficher la liste des informations.Formatage des données DataBinder.Eval
Le code pour cela va comme ceci:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<HeaderTemplate><table cellpadding="0" cellspacing="0" width="255"></HeaderTemplate>
<ItemTemplate>
<tr><td >
<a href='/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 possible que je pourrais appeler une méthode personnalisée avec la valeur DataBinder.Eval 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 la méthode GetDateInHomepageFormat? J'ai essayé dans le code derrière la page, mais j'ai une erreur d'exécution? Si ce n'est pas possible, existe-t-il un moyen de faire du formatage en ligne?
grande réponse ... également la peine d'ajouter ce lien f ou tout le format C# String pour DateTime à http://www.csharp-examples.net/string-format-datetime/ – naveen
Bonne réponse, mais je veux juste faire remarquer qu'il y a un '}' et un 'manquant' ] 'à la fin de l'expression de format dans l'exemple d'étiquette ci-dessus. Il devrait être: ..., "{0: dddd d MMMM}")%> ' – PhillFox
@PhillFox Bonne prise. Merci, je l'ai réparé. – DOK