2010-09-06 2 views
1

Дано:ASP.net и JQuery UI Datepicker

<input id="datepicker" type="text" /> 

Где ид = DatePicker говорит JavaScript, чтобы присоединить весь код Datepicker к элементу формы, как я превратить это в серверный элемент управления?

Например:

<input runat="server" id="datepicker" type="text" /> 

не работает, потому что ASP.net генерирует свой собственный идентификаторами.

Редактировать

<asp:TextBox runat="server" ID="dateTo" class="datepicker"></asp:TextBox> 

Визуализирует в

<input name="ctl00$mainContent$dateTo" type="text" id="ctl00_mainContent_dateTo" class="datepicker" /> 

И не работает!

ответ

5

Я думаю, что это хорошая практика, чтобы га ве класса, который вызывает выбора даты, который будет создан для всего, что имеет его, например, «JS-дата-подборщика»

то, чтобы избежать дублирования кода, вы можете просто написать следующий JS раз:

$(document).ready(function() { 
    $(".js-date-picker").datepicker(); 
}); 

получить ASP.net, чтобы установить класс на текстовом поле правильно поэтому он использует этот класс, просто добавьте CssClass = «JS-дату-подборщик» в теге:

<asp:TextBox runat="server" ID="dateTo" CssClass="js-date-picker" /> 

Надеется, что это проясняет вещи для вас ,

3

Неправильно привязывать датупиксера к ID. лучше отдать его классу (в asp.net: CssClass) , тогда несколько входов могут иметь datepickers. поэтому, короче говоря, привяжите datepicker к классу. Это также исправляет asp.net проблему о идентификаторами

<input id="aspid" class="datepicker" type="text" /> 

<asp:TextBox runat="server" ID="dateTo" CssClass="datepicker"></asp:TextBox> 

затем в вашем селекторе Jquery:

$(".datepicker").datepicker() 
+0

Установка класса = "datepicker", похоже, не работает с jquery-ui –

0

Вы должны ссылаться на клиентский идентификатор элемента управления в Datepicker инициализации Jquery, как например:

$(function() { 
    $("#<%=dateTo.ClientID %>").datepicker(); 
}); 

кажется, работает :)

+0

, но она не может быть расширена теперь ... если вы поместите код привязки jquery на свою главную страницу, то, чтобы сделать datepicker, вам нужно только добавить CssClass для ввода, и все готово. – Stefanvds

0

Простой! Используйте clientidmode="static" в вашем текстовом элементе ввода.

ПРИМЕР- input runat="server" id="datepicker" type="text" clientidmode="Static"

Это должно решить вашу проблему.