У меня есть текстовое поле asp, выраженное как текстовое свойство литерала ASP. Как мне получить текстовое значение TextBox?

У меня есть страница asp.net с кодом C#. На странице asp у меня есть несколько литералов asp. В качестве примера у меня есть литерал с названием "ltrtitle".

В приведенном ниже коде я установил для свойства Text литерала следующее:

<asp:TextBox runat="server" ID="title" TextMode="MultiLine" Columns="0" Rows="2" />

Это отображает текстовое поле на странице asp, чтобы пользователь мог ввести текст. Когда пользователь переходит в режим сохранения, я хочу иметь возможность получить значение Text TextBox (а не Literal). Я пробовал следующее:

TextBox txtbxHiddenUser = (TextBox)FindControl("title");

Не сработало. Пытался:

foreach(Control c in Page.Form.Controls)
        {
            if(c.ClientID == "ltrtitle")
            {
                foreach (TextBox textbox in c.Controls.OfType<TextBox>())
                {
                    TEST3456 = textbox.Text;
                }
            }
        }

По-прежнему не работает. Я бы подумал, что FindControl сработает. Есть идеи, что я делаю неправильно?

1 ответ

Благодаря ответу каменщика я закончил тем, что поместил раздел редактирования на одну панель, а раздел отображения - на другую. Затем я показываю/скрываю панели в зависимости от того, в каком режиме находится страница.

Другие вопросы по тегам