web-dev-qa-db-ja.com

asp.netでDataBinder.Evalの日付形式を変更するにはどうすればよいですか?

日付だけが表示されるように、日時の形式を変更する方法を見つけようとしています。

            <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>

<%%>の中間にあると思いますが、よくわかりません。

私の背後にあるコードは:

<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>

現在、次のようになっています。

HTML View

そして、私が探しているのは、タイムスタンプが消えることです。

どんな助けも大歓迎です。

編集:

私が探していたものは次のとおりです。

            <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

たとえば、形式を与えます:

<%# 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

これを背後のコードに入れます:

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

XHTMLでこれを使用します。

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

これはどのタイプでも変更できます。

2
urlonz