У меня есть ListView, который имеет следующий EditItemTemplate:
<EditItemTemplate>
<tr style="">
<td>
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
<td>
<asp:TextBox ID="FundingSource1TextBox" runat="server" Text='<%# Bind("FundingSource1") %>' />
</td>
<td>
<asp:TextBox ID="CashTextBox" runat="server" Text='<%# Bind("Cash") %>' />
</td>
<td>
<asp:TextBox ID="InKindTextBox" runat="server" Text='<%# Bind("InKind") %>' />
</td>
<td>
<asp:TextBox ID="StatusTextBox" runat="server" Text='<%# Bind("Status") %>' />
</td>
<td>
<asp:TextBox ID="ExpectedAwardDateTextBox" runat="server" Text='<%# Bind("ExpectedAwardDate","{0:MM/dd/yyyy}) %>' onclientclick="datepicker()" />
</td>
</tr>
</EditItemTemplate>
Я хотел бы отформатировать ExpectedAwardDateTextBox
таким образом, это показывает короткое время даты, но не нашло способ сделать это, не входя в код позади. В шаблоне Item у меня есть следующая строка для форматирования даты, которая появляется в маркировке:
<asp:Label ID="ExpectedAwardDateLabel" runat="server" Text='<%# String.Format("{0:M/d/yyyy}",Eval("ExpectedAwardDate")) %>' />
И я хотел бы найти похожий метод сделать с insertItemTemplate
.
Вы можете использовать перегрузку Bind()
вот так:
<%# Bind("ExpectedAwardDate", "{0:M/d/yyyy}") %>
То же самое для вашего Eval:
<asp:Label ID="ExpectedAwardDateLabel" runat="server"
Text='<%# Eval("ExpectedAwardDate","{0:M/d/yyyy}") %>' />
Если вам нужно выполнить более сложное форматирование, а затем изменить отображение даты, вы также можете использовать OnItemDataBound
protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
// Display the e-mail address in italics.
Label EmailAddressLabel = (Label)e.Item.FindControl("EmailAddressLabel");
EmailAddressLabel.Font.Italic = true;
}
}