Как показать и скрыть набор полей html, а также установить текст легенды из кода Asp.Net позади

У меня есть набор полей и легенда внутри него с «каким-то текстом», а внутри этого набора полей у меня есть GRID

у меня 2 вопроса

  1. Как показать? скрыть html-файл из кода позади, я попробовал следующий способ показать и скрыть набор полей

    а) установить runat = "сервер" - но это не сработало б) я вставил набор полей в панель asp.net и попытался показать/скрыть панель, это также не сработало

  2. Как установить текст для легенды из кода позади, т.е. я хочу установить «какой-то текст» + Value_Form_Code за текстом с ножками

Примечание. Я использую Rad Ajax Manager и Rad Ajax LoadingPanel.


person Arun CM    schedule 07.11.2013    source источник


Ответы (4)


<asp:Panel ID="Panel1" runat="server" >                
<fieldlset>
<legend><asp:Label id="Label1" runat="server" /></legend>
</fieldset>
</asp:Panel>

Как показать/скрыть набор файлов html из кода?

Panel1.Visible = true; // or false

Как установить текст для легенды из кода позади, т.е. я хочу установить "какой-то текст" + Value_Form_Code за текстом легенды КАК?

Label1.Text = String.Format("some text {0}",Value_Form_Code);
person meda    schedule 07.11.2013

также должна быть возможность добавить ID и runat="server" к вашему набору полей и контролировать видимость с помощью кода программной части. Только не забудьте написать «ID» заглавными буквами.

<fieldset ID="myFieldset" runat="server">

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

Положительным моментом этого подхода является отсутствие ненужной html-разметки (Panel будет дополнительным div). Недостаток: наборы полей на самом деле не являются элементами управления asp, поэтому некоторые вещи могут создавать исключения, поэтому используйте их осторожно.

Я использую этот подход только тогда, когда хочу вообще запретить рендеринг элементов управления в определенных случаях (это делает видимость).

person Nils    schedule 12.02.2016

1: я думаю, вам следует поместить свой набор полей в asp:panel, а затем скрыть/показать панель из кода программной части. Это автоматически скроет/покажет ваш набор полей.

2: Что касается настройки текста легенды, просто установите легенду с помощью runat="server" и установите код из кода программной части.

person milan m    schedule 07.11.2013

Когда вы устанавливаете свойство 'GroupingText' элемента управления asp:panel, оно будет отображаться как 'fieldset'. > в HTML, а значение свойства 'GroupingText' отображается как тег <legend>.

Я думаю, что следующий код поможет вам в соответствии с вашими требованиями.

Для стороны дизайна,

<asp:Panel runat="server" ID="Panel1" GroupingText="This is legend">
       <h4>Your Content Goes Here</h4>
    </asp:Panel>
    <br />
    <asp:Button ID="btnHidePanel" runat="server" Text ="Hide FieldSet" onclick="btnHidePanel_Click" />
    <asp:Button ID="btnShowPanel" runat="server" Text ="Show FieldSet" onclick="btnShowPanel_Click" Visible="false" />

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

protected void btnHidePanel_Click(object sender, EventArgs e)
        {
            Panel1.Visible = false;
            btnHidePanel.Visible = false;
            btnShowPanel.Visible = true;
        }

        protected void btnShowPanel_Click(object sender, EventArgs e)
        {
            Panel1.Visible = true;
            Panel1.GroupingText = "This Legend Text Has been Changed";
            btnHidePanel.Visible = true;
            btnShowPanel.Visible = false;
        }
person Bhavesh Kachhadiya    schedule 07.11.2013