Я рекомендовал бы получить хорошее основательное понимание дизайна GUI путем чтения книги Дизайн Повседневных Вещей . Хотя печатаемое основное является комментарием от Joel Spolsky : Когда поведение приложения отличается к тому, что пользователь ожидает происходить тогда, у Вас есть проблема с Вашим графическим интерфейсом пользователя.
лучший пример, когда кто-то подкачивает вокруг кнопки OK and Cancel на некоторых веб-сайтах. Пользователь ожидает, что кнопка OK будет слева, и кнопка Cancel , чтобы быть справа. Таким образом короче говоря, когда поведение приложения отличается к тому, что ожидает пользователь, что произойти тогда, у Вас есть проблема проектирования пользовательского интерфейса.
, Хотя, лучший совет, в, неважно, за каким шаблоном разработки или шаблоном разработки Вы следуете, состоит в том, чтобы сохранить дизайн и соглашения последовательными всюду по приложению.
Это решит вашу проблему. Логика такая же, как и в решении, предложенном Кайлом.
Взгляните на это.
<head runat="server">
<title></title>
<script type="text/javascript">
function RefreshUpdatePanel() {
__doPostBack('<%= Code.ClientID %>', '');
};
</script>
<asp:TextBox ID="Code" runat="server" onkeyup="RefreshUpdatePanel();" AutoPostBack="true" OnTextChanged="Code_TextChanged"></asp:TextBox>
<asp:UpdatePanel ID="Update" runat="server">
<ContentTemplate>
<asp:DropDownList runat="server" ID="DateList" />
<asp:TextBox runat="server" ID="CurrentTime" ></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Code" />
</Triggers>
</asp:UpdatePanel>
Код выглядит следующим образом ...
protected void Code_TextChanged(object sender, EventArgs e)
{
//Adding current time (minutes and seconds) into dropdownlist
DateList.Items.Insert(0, new ListItem(DateTime.Now.ToString("mm:ss")));
//Setting current time (minutes and seconds) into textbox
CurrentTime.Text = DateTime.Now.ToString("mm:ss");
}
Я добавил дополнительное текстовое поле, чтобы увидеть изменения в действии, удалите текстовое поле.
Поможет ли это вам?
Как заставить ASP.NET TextBox активировать его событие onTextChanged в AJAX UpdatePanel?