2013-07-19 2 views
1

я пытаюсь очистить форму на кнопку мыши, вот где я сейчас нахожусь:Очистка всех полей в форме с главной страницы

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

     foreach (Control ctrl in mpContentPlaceHolder.Controls) 
     { 
      lblMessageX.Text = ctrl.ToString(); 
      if (ctrl is TextBox) 
       ((TextBox)ctrl).Text = string.Empty; 
      else if (ctrl is DropDownList) 
       ((DropDownList)ctrl).ClearSelection(); 
     } 

это только петли один раз, и находит: System.Web .UI.LiteralControl

Это не поиск в нужном месте?

мой макете выглядит примерно так:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
<asp:Accordion 
    ID="Accordion1" 
    CssClass="accordion" 
    HeaderCssClass="accordionHeader" 
    HeaderSelectedCssClass="accordionHeaderSelected" 
    ContentCssClass="accordionContent" 
    runat="server"> 

<Panes > 
<asp:AccordionPane runat="server" > 
    <asp:DropDownList ID="ddlOrg" runat="server" AutoPostBack="true" CssClass="myinputstyle" 
        OnSelectedIndexChanged="ddlOrg_SelectedIndexChanged" /> 
     <asp:TextBox ID="txtCase" runat="server" CssClass="myinputstyleS" MaxLength="8" /> 
//and so on and so forth 
+0

Когда в жизненном цикле это называется? –

+0

Что вы имеете в виду? когда я нажимаю кнопку ... –

ответ

1

Вам нужно сделать рекурсивный поиск, чтобы получить все элементы управления на странице, потому что не все элементы управления прямо под ContentPlaceHolder. Скорее, он содержит некоторые элементы управления, которые сами содержат другие элементы управления.

Content Place Holder 
-->LiteralControl 
    -->Other Control 1 
    -->Other Control 2 
    -->Other Control 3 
     -->Maybe another level 1 
     -->Maybe another level 2 
    -->Other Control 4 

LiteralControl.Controls вернется "Другая Control 1" до 4, но не "Может быть, другой уровень 1" или "Может быть, другой уровень 2". Чтобы получить их, вам нужно будет вызвать «Other Control 3». Управление:

Откажитесь в отладчике, чтобы увидеть точную иерархию.

Смежные вопросы