У меня есть несколько текстовых полей, которые демонстрируют странное поведение в IE 7 и IE 8 (но не в IE 9 / Chrome):
- Когда я перемещаю фокус между текстовыми полями (без ввода каких-либо символов), с помощью клавиши табуляции или щелчка мыши, все работает как положено.
- После ввода символа в текстовое поле для изменения фокуса на следующее текстовое поле требуется либо два нажатия клавиши табуляции, либо два щелчка мышью на другом элементе управления.
- Похоже, первое событие как-то потеряно?
Вот код для элементов управления:
<div class="smpoe-field-container smpoe-div-column-four">
<%=Html.EditorFor(m => m.SegmentNumber, new {model = Model})%>
</div>
<div class="smpoe-field-container smpoe-div-column-four">
<%=Html.EditorFor(m => m.AmountOrPercent, new {model = Model})%>
</div>
<div class="smpoe-field-container smpoe-div-column-four">
<%=Html.EditorFor(m => m.RandomLowNumber, new {model = Model})%>
</div>
Они определены в моей ViewModel следующим образом:
[UIHint("InputTextField")]
[DisplayName("Segment Number")]
[DomainModelProperty(Key = "PCS.SegmentNumber")]
public int SegmentNumber { get; set; }
[UIHint("InputTextField")]
[DisplayName("Amount/Percent")]
[DomainModelProperty(Key = "PCPP.AmountOrPercentValue")]
public decimal AmountOrPercent { get; set; }
[UIHint("InputTextField")]
[DisplayName("High Random Number")]
[DomainModelProperty(Key = "PSD.HighRandomNumber")]
public int RandomHighNumber { get; set; }
Дополнение:
Я подтвердил, что могу решить эту проблему, удалив UIHint, указывающий на мой шаблон. Чтобы выяснить, что происходит, я в настоящее время сократил свой InputTextField до следующего кода, и проблема все еще возникает:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<div class="smpoe-field-value">
<%=Html.TextBox("", string.Empty)%>
</div>
У кого-нибудь есть подсказки?
Большое спасибо за любую помощь, которая может быть оказана.