введите datepicker с помощью runat = «сервер»

#asp.net #vb.net #sql-server-2008

#asp.net #vb.net #sql-server-2008

Вопрос:

Я пытаюсь ввести значение datepicker с типом ввода html5 в базу данных SQL Server.

Здесь aspx

 <input type="text"  id="txtRRDate" name="txtRRDate" />
<script>
     $(function () {
        $("#txtRRDate").datepicker();
     });
</script>'
  

и когда я хочу вернуть значение из этого типа ввода, я помещаю runat =»server», чтобы я мог вызвать его по логике

     Dim cls As New clsMain
    Dim ds As New DataSet

    Dim strSQL As String = ""
    Dim strWhere As String = ""
    strSQL = "UPDATE TRXHeader"
    strSQL = strSQL amp; "SET RRReceivedDate = '"   txtRRDate.Value   "'"
    strSQL = strSQL amp; "WHERE PONo = '"   txtPOno.Text   "'"
  

Но когда я запускаю его, datepicker не отображается.

Есть предложения, в чем проблема?

Заранее спасибо, извините за плохой английский.

Комментарии:

1. средство выбора даты работало, когда я запускал тип ввода без runat = «сервер»

2. Он будет работать нормально даже с runat. Просто убедитесь в имени класса и скрипте средства выбора даты.

3. хм, я действительно не знаю о скрипте, и, наконец, я могу заставить его работать с request.form(«txtRRDate») для ввода значения в базу данных

4. Смотрите документацию для ASP.NET . Он отлично работает с обоими.

Ответ №1:

Итак, проблема в том, что когда вы добавляете атрибут runat=»server» к вводу, идентификатор клиента этого ввода изменится. таким образом, вызов функции .datepicker() для элемента $(«#txtRRDate») не будет работать, поскольку идентификатор txtRRDate не существует в документе клиента.

Вы можете попробовать то, что я всегда делаю :

 `<input type="text"  id="txtRRDate" name="txtRRDate" runat="server" />
<script>
     $(function () {
        $("#<%= txtRRDate.ClientID%>").datepicker();
     });
</script>'`
  

теперь функция .datepicker() вызывается для идентификатора клиента элемента управления