Отключить обратную передачу на <ASP: LinkButton> - PullRequest
55 голосов
/ 07 октября 2008

В моей форме есть элемент управления ссылками ASP.NET. Я хотел бы использовать его для JavaScript на стороне клиента и предотвратить его отправку обратно на сервер. (Я хотел бы использовать элемент управления кнопкой ссылки, чтобы в некоторых случаях можно было его обрезать и отключить, поэтому прямая метка не является предпочтительной).

Как я могу предотвратить повторную публикацию на сервер?

Ответы [ 17 ]

1 голос
/ 28 сентября 2010

вызов функции java-скрипта для события onclick.

0 голосов
/ 16 октября 2018

Чтобы избежать обновления страницы, если return false не работает с asp:LinkButton, используйте

href="javascript: void;"

или

href="#"

вместе с OnClientClick="return false;"

<asp:LinkButton ID="linkPrint" runat="server" CausesValidation="False" href="javascript: void;"
        OnClientClick="javascript:self.print();return false;">Print</asp:LinkButton>

Выше код вызывает браузер печати без обновления страницы.

0 голосов
/ 29 января 2014

В функции jquery ready вы можете сделать что-то вроде ниже -

var hrefcode = $('a[id*=linkbutton]').attr('href').split(':');
var onclickcode = "javascript: if`(Condition()) {" + hrefcode[1] + ";}";
$('a[id*=linkbutton]').attr('href', onclickcode);
0 голосов
/ 11 февраля 2010

Никто, кажется, не делает это так:

createEventLinkButton.Attributes.Add("onClick", " if (this.innerHTML == 'Please Wait') { return false; } else {  this.innerHTML='Please Wait'; }");

Кажется, это единственный способ, который работает.

0 голосов
/ 08 мая 2010

Почему бы не использовать пустую панель обновления ajax и связать с ней событие щелчка по кнопке связи? Таким образом, обновляется только панель обновлений, что позволяет избежать обратной передачи и позволяет запускать ваш javascript

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

используйте ссылку html вместо ссылки asp, и вы можете использовать метку между ссылками html на стороне сервера контроль

0 голосов
/ 07 октября 2008

Возможно, вы также захотите, чтобы клиентская функция возвращала false.

<asp:LinkButton runat="server" id="button" Text="Click Me" OnClick="myfunction();return false;" AutoPostBack="false" />

Вы также можете рассмотреть:

<span runat="server" id="clickableSpan" onclick="myfunction();" class="clickable">Click Me</span>

Я использую кликабельный класс, чтобы установить такие вещи, как указатель, цвет и т. Д., Чтобы его внешний вид был похож на тег привязки, но мне не нужно беспокоиться о том, что он будет отправлен обратно или что мне нужно сделать href = " JavaScript: недействительным (0);» обмануть.

...