我有从 sqldatasource updateCommand 更新日期的代码。
代码:
<asp:GridView ID="gdLog" runat="server" GridLines="Horizontal" CellPadding="3" CssClass="gridRows" HeaderStyle-CssClass="gridHreader" AlternatingItemStyle-CssClass="gridAlterRows" Width="100%" AutoGenerateColumns="False" AutoGenerateEditButton="True" DataKeyNames="hometemplateID" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="hometemplateID" HeaderText="hometemplateID" InsertVisible="False" ReadOnly="True" SortExpression="hometemplateID" Visible="False" />
<asp:BoundField DataField="ttitle" HeaderText="title" SortExpression="ttitle" />
<asp:TemplateField HeaderText="start">
<ItemTemplate>
<asp:Label runat="server" ID="tstart"
Text='<%# makeShortDate(DataBinder.Eval(Container.DataItem, "tstart")) %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tStartdEdit" runat="server" class="form-control calender-icon datepicker date" Text='<%# makeShortDate(DataBinder.Eval(Container.DataItem, "tstart")) %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="end">
<ItemTemplate>
<asp:Label runat="server" ID="tend"
Text='<%# makeShortDate(DataBinder.Eval(Container.DataItem, "tend")) %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="tendEdit" runat="server" class="form-control calender-icon datepicker date" Text='<%# makeShortDate(DataBinder.Eval(Container.DataItem, "tend")) %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:CheckBoxField DataField="tActive" HeaderText="Active" SortExpression="tActive" />
<asp:BoundField DataField="tdatecreated" HeaderText="date added" InsertVisible="False" ReadOnly="True" SortExpression="tdatecreated" />
</Columns>
<HeaderStyle CssClass="gridHreader">
</HeaderStyle>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Dbconnection %>" SelectCommand="EXEC [usp_SelectHomePageItems] @templateid=1, @rows=1" UpdateCommand="update hometemplate set title=@ttitle, startdate=@tstart, isActive=@tActive where hometemplateID=@hometemplateID">
<UpdateParameters>
<asp:Parameter Name="tstart" />
<asp:Parameter Name="tend" />
</UpdateParameters>
</asp:SqlDataSource>
有 2 个日期选择器(开始和结束)。我需要使用 makeShortDate 函数来格式化日期选择器的文本,因为当我从中选择时,它似乎使用格式月份名称空间日空间年
如果我不这样做,而只是在 edititemtemplate 上使用 Bind("tstart"),那么在我点击“编辑”后,它会在文本框中显示为 25/7/2018 12:00:00 AM....day首先是出于某种原因,我不想让我的客户感到困惑。显示上午 12 点的内容也很丑陋。当我单击日历图标时,它也会选择错误的日期,而如果我先格式化,它会选择正确的日期。
当我按原样尝试我的代码时,由于某种原因,日期被设置为空白。我想我需要在 edititemTemplate 上绑定,但如前所述,我需要使用函数 makeShortdate 格式化日期。
那么如何在点击“编辑”而不是日/月/年 12:00:00am 之后获取日期为月/日/年的文本框?我可以使用 makeshortdate 函数来做到这一点,但由于某种原因,日期设置为空。
抱歉代码缩进,不知道如何在此处取消缩进代码块。
日期选择器是引导程序的日期选择器。在我使用的标题中:
$(function () {
$('.datepicker').datepicker({
format: 'MM dd yyyy',
autoclose: true,
});
});