Насколько я знаю, это невозможно, но вы можете просто добавить более простой конструктор в ваш класс и использовать его для тестирования. С другой стороны, если тест проверяет объект в состоянии, отличном от того, каким он будет в приложении, я не уверен, насколько хорошим будет такой тест.
Вы можете попробовать установить кнопку по умолчанию на панели asp или в вашей форме. Это позволит вам контролировать то, что происходит, когда пользователь нажимает клавишу ввода.
Это поведение по умолчанию для нажатия кнопки ввода в нетекстовой области, чтобы отправить обратно форму. Вам нужно будет обработать его в методе javascript, чтобы остановить обратную передачу.
Вам просто нужно проверить свойство window.event.keyCode, чтобы узнать, равно ли оно 13. Если это так, сбросьте его на 0.
function KeyPress()
{
if (window.event.keyCode == 13)
{
window.event.keyCode = 0;
}
}
Полагаю, я мог бы обнаружить нажатия клавиш «ввод» из этих текстовых полей с помощью javascript
Это то, что я сделал, чтобы обойти это поведение, и оно прекрасно работает в IE7 и FF3. Это просто немного неестественно.
Вот общий пример:
function TextBox1_KeyDown(sender, e)
{
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if(key == 13 && $("#TextBox1").val() != "")
{
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("TextBox1", "", true, "", "", false, true));
}
return (key != 13);
}
Я использовал WebForm_DoPostBackWithOptions, потому что мне нужны валидаторы для запуска. В противном случае вы можете использовать __DoPostBack.
Вот «прототипы»:
function __doPostBack(eventTarget, eventArgument)
function WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit)
{
this.eventTarget = eventTarget;
this.eventArgument = eventArgument;
this.validation = validation;
this.validationGroup = validationGroup;
this.actionUrl = actionUrl;
this.trackFocus = trackFocus;
this.clientSubmit = clientSubmit;
}
function WebForm_DoPostBackWithOptions(options)
Надеюсь, это поможет.
PS: Я использовал здесь JQuery, но $ get был бы таким же.
Вы можете отключить нажатие клавиши Enter, чтобы пользователю приходилось нажимать на кнопки ImageButton. Просто вставьте этот блок javascript на свою страницу:
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
здесь ' onkeydown = "return (event.keyCode! = 13);" > asp: TextBox>
прочтите весь пост здесь