У меня есть содержимое страницы asp.net, как показано ниже. Внутри панели есть элемент управления HtmlInputText, который имеет значение Enabled = "false". Я установил свойство Value элемента управления HtmlInputText в btnSet_Click, а затем установил Enabled = true для панели. После завершения обратной передачи Значение HtmlInputText теряется. Ниже приведен список дел, которые я пытался:
- Когда я использую asp: TextBox вместо HtmlInputText, он работает нормально. Но вышесказанное является упрощенной демонстрацией использования сложного пользовательского элемента управления. По сути, изменить это не вариант.
- Когда я помещаю панель и кнопки в asp: UpdatePanel, она снова работает нормально.
- Когда я установил disabled = "disabled" (в разметке) для элемента управления HtmlInputText, он снова работает нормально.
Что может быть причиной такого поведения?
<asp:Panel ID="pnl" runat="server" Enabled="false">
<input type="text" runat="server" id="txt" />
</asp:Panel>
<asp:Button ID="btnSet" runat="server" Text="Set" OnClick="btnSet_Click" />
<asp:Button ID="btnEnable" runat="server" Text="Enable" OnClick="btnEnable_Click" />
-
protected void btnSet_Click(object sender, EventArgs e)
{
txt.Value = "Test";
}
protected void btnEnable_Click(object sender, EventArgs e)
{
pnl.Enabled = true;
}