Щелкните правой кнопкой мыши свою страницу в браузере, сделайте элемент Inspect и найдите свой EndDate
элемент. Вы заметите, что его идентификатор выглядит как нечто совершенно другое! Это связано с тем, что ASP.Net переименует элементы управления на стороне сервера, чтобы избежать конфликтов идентичности.
Имея это в виду, вы можете начать понимать проблему - ссылки $('#EndDate')
в JQuery не будут работать, потому что нет элемента с этим идентификатором.
Самый простой вариант - добавить ClientIDMode="static"
свойство в свои текстовые поля:
<asp:Textbox runat="server" ClientIdMode="static" ID="EndDate">
Это заставляет элемент визуализировать с данным идентификатором вместо того, чтобы «перезаписываться». Затем вы можете получить доступ к этим элементам так же, как обычно, и быть на своем весерном пути.
Если у вас есть что-то вроде <asp:Repeater>
или <asp:GridView>
, избегайте этого метода. Поскольку элементы повторяются, это приведет к дублированию идентификаторов. В таком случае, использовать ClientIdMode="Predictable"
, что сделает ваши детали как - то больше нравится EndDate_0
, EndDate_1
и так далее.