web-dev-qa-db-fra.com

Comment changer le format de date d'un DataBinder.Eval dans asp.net?

J'essaie de comprendre comment changer le format datetime pour que seule la date apparaisse.

            <asp:Repeater ID="RepeaterActions" runat="server">
            <ItemTemplate>
                <li>
                    <span class="historyDate"><%#DataBinder.Eval(Container.DataItem, "ActionListDate")%></span>
                    <span class="historyName"><%#DataBinder.Eval(Container.DataItem, "LeadActionName")%></span><br />
                    <span class="historyNotes"><%#DataBinder.Eval(Container.DataItem, "ActionListNote")%></span>
                </li>
            </ItemTemplate>
        </asp:Repeater>

Je suppose que c'est quelque chose entre les <%%>, mais je ne suis pas sûr.

Mon code derrière est:

<pre>
        protected void RepeaterActionsFill()
    {

        string sql = @"  select a.ActionListDate, a.LeadListID, 
a.ActionListNote, 
l.LeadActionName
from ActionLists as a
INNER JOIN LeadActions as l
ON a.LeadActionID = l.LeadActionID
where a.LeadListID = " + Convert.ToInt32(Request["id"].ToString());

        RepeaterActions.DataSource = DBUtil.FillDataReader(sql);
        RepeaterActions.DataBind();
    }
</pre>

Actuellement, cela ressemble à ceci:

HTML View

Et ce que je recherche, c'est que l'horodatage soit parti.

Toute aide est appréciée.

MODIFIER:

Voici ce que je cherchais:

            <asp:Repeater ID="RepeaterActions" runat="server">
            <ItemTemplate>
                <li>
                    <span class="historyDate"><%#DataBinder.Eval(Container.DataItem, "ActionListDate", "{0:M/d/yy}")%></span>
                    <span class="historyName"><%#DataBinder.Eval(Container.DataItem, "LeadActionName")%></span><br />
                    <span class="historyNotes"><%#DataBinder.Eval(Container.DataItem, "ActionListNote")%></span>
                </li>
            </ItemTemplate>
        </asp:Repeater>
35
Barrett Kuethen

donner le format par exemple:

<%# DataBinder.Eval(Container.DataItem, "ActionListDate", "{0:d/M/yyyy hh:mm:ss tt}") %>
50
Damith

<%# string.Format("{0:ddd MMM yyyy}", Eval("ActionListDate"))%>

26
Christian

Je mets cela dans le code derrière:

public string makeShortDate(object oDate)
{
    if (oDate is DBNull) {
        return "";
    } else {
        DateTime dDate = Convert.ToDateTime(oDate);
        string sDate = dDate.ToShortDateString();
        return sDate;
    }           
}

Et utilisez ceci dans le XHTML:

Text='<%# makeShortDate ( DataBinder.Eval(Container.DataItem, "MyDate")) %>'

Vous pouvez le modifier pour tout type.

2
urlonz