bootstrap 日期选择器上的 gridview 文本框中添加了额外的虚拟时间

Extra dummy time added in gridview textbox on bootstrap datepicker

我已将 bootstrap 日期选择器添加到 Gridview 中的几个文本框。但是在选择一个日期时,一个虚拟时间格式为“00:00:00”被添加到网格视图中 onrowupdating 文本框中的日期。 我已经尝试 trim onrowbound 中的日期,但无济于事。

网格视图代码:

<asp:TemplateField HeaderText="AMR Plan">
                        <ItemTemplate>
     <asp:Label Text='<%# Eval("amr_plan") %> Width="130px" runat="server"></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtAMRPlan" Text='<%# Eval("amr_plan") %>'  Width="130px" runat="server"></asp:TextBox>
                        </EditItemTemplate>                
                    </asp:TemplateField>

日期选择器代码(javascript 和 html):

    <script type="text/javascript" src='https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js'></script>
    <script type="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js'></script>
    <link rel="stylesheet" href='bootstrap.min.css'
        media="screen" />
    <%--'https:/ /cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css'--%>
    <!-- Bootstrap -->
    <!-- Bootstrap DatePicker -->
    <link rel="stylesheet" href="bootstrap-datepicker.css"
        type="text/css" />
    <%--href="https:/ /cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css"--%>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"
        type="text/javascript"></script>
    <!-- Bootstrap DatePicker -->

   <script type="text/javascript">
        $(function () {
            $('[id*=txtAMRPlan]').datepicker({
                changeMonth: true,
                changeYear: true,
                format: "mm/dd/yyyy",
                language: "tr"
            });
             });

如果有人能阐明这一点,那会有很大帮助吗?提前致谢!

我终于找到了解决办法。写这个答案以防万一以后有人需要它。所以问题出在 Eval 函数上。 Eval 函数用于仅定义一种绑定方式,即网格视图中的 ReadOnly。因此 Eval 应该替换为 Bind 函数,该函数用于双向绑定,这意味着 read/write 是可能的。在我的例子中,网格视图应该能够更新数据库字段,这可以通过 Bind 实现。观察这个片段..

<asp:TemplateField HeaderText="AMR Plan">
 <ItemTemplate>
 <asp:Label ID="lblAMR" Text='<%# Bind("amr_plan","{0:MM/dd/yyyy}") %> Width="130px" runat="server"> 
 </asp:Label>
 </ItemTemplate>
 <EditItemTemplate>
 <asp:TextBox ID="txtAMRPlan" Text='<%# Bind("amr_plan","{0:MM/dd/yyyy}") %>'  Width="130px" runat="server"></asp:TextBox>
  </EditItemTemplate>                
  </asp:TemplateField>

另外别忘了给 Label 添加 id。

几篇可能有帮助的文章Here & Here