Ripon'11 Ответов: 8

Получить значение поля ввода HTML в asp.net


Привет У меня есть текстовое поле HTML (а не серверный элемент управления TextBox) на странице .aspx. Возможно ли это
с помощью ASP.NET чтобы получить значение текстового поля HTML без объявления элемента как runat="server"? Как я могу получить значение HTML-элемента из C# на сервере?

Albin Abel

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

8 Ответов

Рейтинг:
55

Albin Abel

У меня есть текстовое поле HTML (а не серверный элемент управления TextBox) на странице .aspx. Возможно ли это= да, возможно. В данном случае ничем не отличается от классического жереха. Если у вас его нет runat="server" тогда вы можете получить доступ к нему через старую школу.

скажи, что у тебя есть это <input type="text" id="text1" name="text1" /> затем со стороны сервера используйте Request["text1"].



Удачи


Ankur\m/

И 5 тебе! :)

Albin Abel

Спасибо Анкур

Ripon'11

спасибо... это работает

Albin Abel

Спасибо, Рипон. Даже вы можете добавить runat="сервер" к html-элементам. Потому что.Net имеет кучу классов в System.Web.UI.HtmlControls, которые могут быть созданы на сервере для соответствующей html-разметки. Simply html elements также принимает атрибут runat server. Просто дополнительная информация

Ganesh KP

Я попробовал тот же самый код в своей жизни. asp.net код но он показывает ошибку
"Ссылка на объект не установлена на экземпляр объекта."

Что же мне теперь делать?

mina mini

это работает,спасибо

Karthik_Mahalingam

мои 5 для вас!!!!

ebleme

Могу ли я сделать это с тегом <div>?

girishmeena

получение ошибки "ссылка на объект не установлена на экземпляр объекта." при использовании вышеуказанного кода.

Рейтинг:
2

etechpulse

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

- Тег должен иметь атрибут под названием NAME. Потому что он используется в качестве ключа в форме[].
- Метод формы должен быть типа POST.

Вот простой пример: http://www.etechpulse.com/2013/02/get-html-input-controls-value-server.html[^]


Рейтинг:
2

Jean Haidar

он не работает внутри

У меня есть следующий код:

&ЛТ;АСП:содержание атрибут runat="сервер" идентификатор="bodycontent, который" атрибутом ContentPlaceHolderID="как MainContent" атрибутов xmlns:АСП="#неизвестный"&ГТ;



&ЛТ;АСП:метка идентификатор="Labelinput" атрибут runat="сервер" associatedcontrolid="отмечать"&ГТ;ввод даты:

в <тип входного="текст" идентификатор="отмечать" имя="отмечать" атрибут runat="сервер" clientidmode="статический" onChange, после="mydateChg();" /&ГТ;
&ЛТ;АСП:текстовое поле с ID="TextInputD" атрибут runat="сервер" ширина="111px" параметр maxlength="10" видна="правда" включена="ложных" autopostback элемента управления="Правда"и GT;


&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" функция onclick="обработчика button1_click" текст="сохранить" ширина="80 пикселей"&ГТ;




от кода наследство, у меня есть следующие:

охраняемых недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{

string strValue = страница.Запрос.Форма["datepicker"];

Ответ.Write(strValue);
}


это повторение нулевого значения:
Страница.Запрос.Форма["datepicker"];



если я сделаю то же самое с другой страницы, которая не имеет
&ЛТ;АСП:содержание атрибут runat="сервер" идентификатор="bodycontent, который" атрибутом ContentPlaceHolderID="как MainContent" атрибутов xmlns:АСП="#неизвестный"&ГТ;

Я могу получить значение входного элемента управления ОК


есть какая-нибудь помощь по этому поводу?


IrcdaemonZ

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


ContentPlaceHolder test = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");

((HtmlInputText)тест.FindControl("TextInputD")). Value.Метод toString()

Рейтинг:
2

IrcdaemonZ

Вы не можете получить значение входного текста непосредственно, так как он находится внутри главной страницы и contentplaceholder.

Вам нужно получить объект из contentplaceholder в Masterpage, а затем получить значение из объекта, как показано ниже.

ContentPlaceHolder test = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
var value= ((HtmlInputText)тест.FindControl("txtEmail")).Ценность.Метод toString()


Maciej Los

На этот вопрос уже дан ответ (принятый ответ). Зачем публиковать еще один ответ?

Рейтинг:
0

Ankur\m/

Вы можете получить доступ к значению элемента управления с помощью объекта запроса. Request["TextBoxID"] должен дать вам текст в текстовом поле.

Другой вариант - сохранить значение текстового поля в скрытом поле onblur из текстового поля. Затем получите доступ к этому скрытому значению поля на сервере.

Надеюсь, это поможет!

[Edit]модифицировал ответ, предложенный Альбином Абелем.[/Редактировать]


Albin Abel

Анкур все рендерит как html (теги формы). А постинг - это просто http-пост. Тем не менее у нас есть запрос объекта в asp.Net-да.

Ankur\m/

Вы правы. Предмет просьбы вылетел у меня из головы. Я сразу же обновлю свой ответ.
Большое спасибо!

Albin Abel

Не беспокойтесь.

Albin Abel

Мой 5 для получения дополнительной информации :)

Ankur\m/

Спасибо тебе, Альбин!

Рейтинг:
0

Sridhar Patnayak

Сначала получите значение текста в javascript
Затем отправьте его в качестве параметра в метод serverside
любые операции, которые вы хотите, вы можете сделать их
Это будет хорошо работать.


Рейтинг:
0

Member 10575803

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


в C#
строку написать = txtemail.Значение.Метод toString();

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


Рейтинг:
0

IrcdaemonZ

Вы не можете получить значение входного текста непосредственно, так как он находится внутри главной страницы и contentplaceholder.

Вам нужно получить объект из contentplaceholder в Masterpage, а затем получить значение из объекта, как показано ниже.

ContentPlaceHolder test = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
var value= ((HtmlInputText)тест.FindControl("txtEmail")).Ценность.Метод toString()..


CHill60

Пожалуйста, не публикуйте одно и то же дважды. Ваш пост мог бы ждать модератора, чтобы очистить его публикацию. Будьте терпеливы.