LinkButton по умолчанию при вводе на мастер-странице - PullRequest
1 голос
/ 07 декабря 2010

Я просмотрел и нашел и не нашел чистого решения для этого. Мой коллега нашел довольно грязное решение, но я не понимаю, почему решения в ссылках ниже не работают, когда я размещаю его на главной странице. У меня есть главная страница, на которой есть текстовое поле и кнопка ссылки. Когда я нажимаю клавишу ввода, вместо этого вызывается кнопка по умолчанию для дочерней страницы.

  1. http://weblogs.asp.net/jeff/archive/2005/07/26/420618.aspx
  2. установить кнопку ссылки в качестве кнопки по умолчанию для панели asp: asp.net (решение Ахмада)

Какое-нибудь понимание этого, пожалуйста? спасибо:)

Я опубликую грязное решение, когда завтра доберусь до работы.

РЕДАКТИРОВАТЬ: вот грязное (я думаю) решение:

string id = ctlToClick.UniqueID;
string someJavascript = //see below
EmailTextBox.Attributes.Add("OnKeyPress", someJavascript);

JavaScript (разместил его здесь, чтобы StackOverflow мог лучше его отформатировать):

javascript:if (window.event){
    if(parseInt(window.event.keyCode) == 13){
    WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('" + id + "', '', true, 'Login', '', false, true));
    return false;
    }
}

Это действительно единственное решение для этого?

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Вы пытались установить свойство defaultButton?

<form id="Form1"
        defaultbutton="lnkNextPage" 
        runat="server">

Где lnkNextPage - идентификатор элемента управления LinkButton.

0 голосов
/ 08 декабря 2010

Я думаю, вам нужен простой javascript для управления клавишами табуляции / ввода. Я столкнулся с этим прежде, чем не было способа заставить работать решение кнопки по умолчанию.

Идея проста - проверяйте каждую клавишу, которая вводится в текстовом поле. Если указана клавиша enter или tab, найдите кнопку с помощью jquery или document.GetElementById ('id') и вызовите событие нажатия на кнопку.

кнопка формы по умолчанию не работает в asp.net, так как а): есть только 1 форма и б): для разных текстовых полей вы хотите иметь возможность контролировать, какая кнопка была нажата (на вкладке / вводе) ).

Простой файл javascript решает эту проблему.

<bleepzter/>
...