В вашем коде есть несколько проблем, например, вы вызываете dtTimePicker
в onload
или вы ошиблись селектором txtDate
для выбора входа. Кроме того, формат года неверен, но не очень важен.
Независимо от того, хотите ли вы отображать средство выбора даты внутри повторителя или вне повторителя, присвойте классу, как datepicker
, атрибут CssClass
контроля. Затем в готовом документе вызовите select .datepicker
с помощью селектора классов и примените к нему средство выбора даты.
Пример
Я предполагаю, что вы ищете минимальный рабочий пример, поэтому я поделюсь минимальным рабочим примером в качестве начальной точки. Вот очень минимальный пример, который вы можете протестировать без какого-либо кода. Просто скопируйте следующий код и вставьте в файл Form1.aspx
и просмотрите Form1.aspx
, чтобы увидеть следующий вывод:
![DatePicker](https://i.stack.imgur.com/o3Pu3.png)
<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Form1</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
$(function () {
$(".datepicker").datepicker({
dateFormat: 'dd-MM-yy',
changeMonth: true,
changeYear: true
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Date:" Font-Bold="true" />
<asp:TextBox ID="TextBox1" runat="server" CssClass="datepicker" />
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr>
<th>Name</th>
<th>Birth date</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:TextBox ID="NameTextBox" runat="server" Text='<%# Eval("Name") %>' />
</td>
<td>
<asp:TextBox ID="BirthDateTextBox" runat="server" CssClass="datepicker"
Text='<%# Eval("BirthDate", "{0:dd-MMMM-yyyy}") %>' />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = DateTime.Now.ToString("dd-MMMM-yyyy");
var dt = new System.Data.DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("BirthDate", typeof(DateTime));
dt.Rows.Add("Mario Speedwagon", new DateTime(1980, 11, 5));
dt.Rows.Add("Petey Cruiser", new DateTime(1975, 7, 9));
Repeater1.DataSource = dt;
Repeater1.DataBind();
}
</script>