Получение данных из элемента управления вводом в коде - PullRequest
1 голос
/ 31 августа 2011

Я использую asp.net C # Я также использую элемент управления JQuery UI Calendar. календарь управления

Похоже, элемент управления календаря хочет работать с элементом управления вводом с идентификатором "DatePicker".

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

Я хочу использовать значение элемента управления вводом в моем коде позади, но, видя, что это не элемент управления asp.net, я не уверен, как я могу ссылаться на него в коде позади.

Кто-нибудь знает, как получить значение элемента управления вводом в коде позади?

Ответы [ 5 ]

10 голосов
/ 31 августа 2011

использовать

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

и в следующем коде:

Request.Form["datepicker"]

Фактически свойство Form запроса заполнено значениями формы.

1 голос
/ 06 февраля 2014

Здесь вы должны указать имя вашей формы, которое содержит тег ввода

<input name="txtemail" id="txtemail" runat="server" type="text" class="cssspa" form="form"/>

в C # string email = txtemail.Value.ToString ();

теперь вы можете получить данные из текстового поля

0 голосов
/ 31 августа 2011

Поскольку вы явно говорите code-behind, я предполагаю, что вы, вероятно, хотите остаться с моделью WebForms / Controls? С помощью clientidmode вы можете сделать это, также имея определенное значение идентификатора для календаря.

<asp:TextBox id="datepicker" ClientIDMode="Static" runat="server" />

Тогда вы можете напрямую взаимодействовать с элементом управления из кода, как обычно.

Но элемент управления календаря не требует определенного идентификатора. Вы можете инициализировать его с любым идентификатором, который вы хотите

<asp:TextBox id="DateTextBox" runat="server" />

<script>
$(function() {
    $( "#<%=DateTextBox.ClientID%>" ).datepicker();
});
</script>
0 голосов
/ 31 августа 2011

Вы можете получить доступ к значению через объект запроса, как он пишет, или вы можете превратить каждый HTML-тег в серверный элемент управления, добавив атрибут runat:

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

Атрибут ClientIdMode = "static" гарантирует, что идентификатор тега не будет изменен во время выполнения ASP.NET.

Затем вы можете получить доступ ко входу автоматически сгенерированного члена datePicker.

0 голосов
/ 31 августа 2011

Если вы хотите использовать базовую форму, вам нужно добавить атрибут имени:

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

 if(Page.IsPostBack)
 {
     string value = Request.Form["datepicker"];
 }

В качестве альтернативы вы можете пометить как HtmlInputControl

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

System.Web.UI.HtmlControls.HtmlInputControl datepickerControl = this.FindControl("datepicker") as System.Web.UI.HtmlControls.HtmlInputControl;

if(datepickerControl != null)
    string value = datepickerControl.Value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...