2010-10-29 7 views
2

Я создалНайти управления ASP.NET

<input type="checkbox" id="test" > 

с помощью литерала. Теперь я хочу получить этот элемент управления, чтобы проверить, проверено ли его или нет. Как найти этот элемент управления на странице aspx.cs?

+0

вы можете дать некоторые детали – AsifQadri

+0

я использую панель ... чем я создать literal in at at runtime и назначить literal.text = " .. Теперь я хочу найти флажок установлен или нет, как я могу его найти? я не могу найти его ..и пытался с помощью findcontrol ... любая помощь? –

ответ

0

Попробуйте

Page.Controls.FindControl() 

или

Page.YourFormNameHEre.Controls.FindControl() 
1

Используйте FindControl для поиска серверного элемента управления, для которого вы указали параметр ID.

Control ctrl = FindControl("TextBox1"); 
2

Если вы создали его программно как литерал, вы не сможете использовать FindControl для его поиска. Когда сообщения формы обратно, вы можете использовать коллекцию формы, чтобы увидеть, если значение вывешены назад, как:

Request.Form["test"] 

или

Request["test"] 

Если пользователь не установить флажок, то значение формы не будет присутствовать, что-то использует скрытое поле для работы.

HTH.

5

, если вы хотите, чтобы найти контроль над кодом за файл, то вы должны установить это, как RUNAT = «сервер»,

literal.text = "<input type=\"checkbox\" id=\"forum1\" runat=\"server\">"; 



HtmlInputCheckBox test = (HtmlInputCheckBox) Page.FindControl("test"); 

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

Пусть это даст вам правильное решение http://www.codeasp.net/blogs/SumitArora/microsoft-net/841/value-of-dynamic-textbox-lost-on-postback

Вы можете использовать событие страница инициализации для создания Контролируйте

protected override void OnInit(EventArgs e) 
{ 
    HtmlInputCheckbox test = new HtmlInputCheckbox(); 
    test.id= "test";     
    pnlControl.Controls.Add(test); 
    base.OnInit(e); 
}