Я пытаюсь показать текстовое поле после выбора элемента из заполненного списка и нажатия кнопки. После того, как я нажму кнопку, текстовое поле должно появиться на экране с нужным текстом, однако он никогда не появляется. Начальное значение свойства visible установлено в false, а затем в Code Behind оно устанавливает значение true и заполняет текст в текстовом поле. Я отлаживал код, и свойства для видимых и текстовых файлов, безусловно, обновляются, но я не знаю, в чем проблема.Текстовое поле, не отображающееся на странице
ASP.net
<asp:FormView ID="FormSectionFormView" runat="server" DataKeyNames="FormSectionID" DataSourceID="FormSectionDataSource" RowStyle-VerticalAlign="NotSet">
<ItemTemplate>
<tr>
<td>
<asp:Button ID="InsertButton"
runat="server"
Text="Insert"
OnClick="FormSectionButton_Click"
Font-Size="1.2em" />
<asp:Button ID="UpdateButton"
runat="server"
Text="Update"
Font-Size="1.2em"/>
</td>
<td align="center">
<div style: align="center">
<asp:Label ID="Label1"
runat="server"
Font-Bold="true"
Text="Section Instruction"
Font-Size="1.2em">
</asp:Label>
</div>
<div style="width:800px; height:auto; overflow:auto">
<asp:ListBox ID="SectionInstructionListBox"
DataSourceID="SectionInstructionSource"
runat="server"
DataTextField="Instruction"
Visible="True" />
</div>
</td>
</tr>
<tr>
<td>
</td>
<td>
<div style="padding-top: 4em; width:800px">
<asp:Label ID="Label5"
runat="server"
Font-Bold="true"
Text="Insert New Instruction"
Font-Size="1.2em">
</asp:Label>
<asp:TextBox ID="SectionInstructionTextBox"
runat="server"
Width="800px" />
</div>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:TextBox runat="server" ID="updatetextbox" AutoPostBack="True" Visible="False"></asp:TextBox>
</td>
</tr>
</ItemTemplate>
</asp:FormView>
Код За
protected void FormSectionUpdateButton_Click(object sender, EventArgs e)
{
var ctrl = (Control)sender;
var updatetextbox = (TextBox)ctrl.FindControl("updatetextbox");
var instructionlistbox = (ListBox)ctrl.FindControl("SectionInstructionListBox");
updatetextbox.Visible = true;
updatetextbox.Text = instructionlistbox.SelectedItem.Text;
FormSectionListView.DataBind();
}
Я не делаю много в загрузке страницы в данный момент. Я просто скрываю список на загрузке страницы, пока не выберу другие значения.
protected void Page_Load(object sender, EventArgs e)
{
_connection = DataAccess.SelfRef().GetConnection();
var list = InstructionDropDown.SelectedValue;
switch (list)
{
case "Form Section":
FormSectionListBox.DataSourceID = "FormSectionDataSource";
FormSectionListView.DataBind();
RenderView(FormSectionListView, "hidden"); // hide listview on page load
break;
}
}
Существует нет текстового поля с ID UpdateTextBox ваш ASPX не не releavant в код позади ... – mybirthname
я не вижу, управление TextBox с идентификатором = «updatetextbox» .. я просто не видел его? –
Нигде в вашем интерфейсном коде у вас есть элемент управления TextBox, который имеет видимость, равную false, или имеет правильный идентификатор. –