aspx上的代码:
<EditItemTemplate>
<asp:TextBox ID="TextBox12" runat="server" Text='<%# Bind("Release_Dt", "{0:yyyy-MM-dd}") %>'></asp:TextBox>
<asp:CustomValidator runat="server" ID="Release_Dt_vdt1"
ControlToValidate="TextBox12" onservervalidate="validate_dt"
ErrorMessage="enter valid date" ValidationGroup="UpdateVdtGrp" ForeColor="Red" Display="Dynamic" SetFocusOnError="true">
</asp:CustomValidator>
</EditItemTemplate>
验证码(代码隐藏):
protected void validate_dt(object source, ServerValidateEventArgs args)
{
DateTime minDate = DateTime.Parse("1000/12/28");
DateTime maxDate = DateTime.Parse("9999/12/28");
DateTime dt;
args.IsValid = (DateTime.TryParse(args.Value, out dt)
&& dt <= maxDate
&& dt >= minDate);
}
问题:每次更新行时,日期格式会从“yyyy-MM-dd”变为短/长日期格式,如下所示(即使只是在默认的gridview按钮上单击“编辑”和“更新”)更改任何内容/专用编辑'textbox12')。 原因是什么,我们如何解决?
我已经澄清连接到的SQL数据库(该数据存储为字符串)在更新时不会自动格式化数据。
如果我遗漏了一些问题的重要信息,请提前告知,谢谢。