2013-04-30 4 views
2

У меня есть asp.net linkbutton, который содержит OnClientClick свойства, однако функции в OnClientClick никогда не вызывается, он непосредственно перескакивает к OnClick функции.
Ниже приведены 2 варианта я использую LinkButton как:OnClientClick не работает на asp.net LinkButton

<asp:LinkButton ID="btn" CssClass="button" Text="Browse Thumbnail" runat="server" 
    OnClientClick="return confirm('Are you sure you want to delete?');"> 
</asp:LinkButton> 

и:

<asp:LinkButton ID="lnkDelete" runat="server" 
    OnClientClick="return confirm('Are you sure you want to delete this slide?');" 
    CommandName="DeleteThumbnail" CommandArgument='<%# Container.DataItemIndex %>'> 
    <asp:Image ImageUrl="~/images/delete.gif" ID="imgDelete" runat="server"></asp:Image> 
</asp:LinkButton> 

Оба подхода не работает.

Может ли кто-нибудь предложить какое-то решение для этого же.

+0

Вы havnt определили OnClick в обоих этих подходах, поэтому он не может перейти в OnClick – Postback

+1

, вам не хватает вызова 'JavaScript', вы должны попробовать что-то вроде этого ' onclick = "javascript: return confirm ('Are you sure вы хотите удалить этот слайд? ') "' – MethodMan

+1

Я имею в виду, что это просто обратная передача без запуска OnClientClick Event – Abbas

ответ

2

Существует, скорее всего, какой-либо другой элемент страницы, препятствующая это событие от увольнения.

У вас есть другие элементы страницы, которые могут помешать? Вы пытались удалить все другие элементы страницы, кроме этого? У вас есть некоторые вызовы AJAX, которые могут мешать? Вы пробовали это с помощью простого элемента html (а не asp.net)?

Скорее всего, вы делаете все хорошо в своей ссылке, но проблема в другом месте.

+0

Да, вы были правы, проблема была в другом месте, у меня была функция, которая препятствовала событию onclick анкера. – Abbas

3
OnClientClick="javascript:return confirmAction();" 

    function confirmAction() { 
     if(confirm('Are you sure you want to delete?')) { 
     // you clicked the OK button. 
     // you can allow the form to post the data. 
     return true; 
    } 
    else { 
     return false; 
     } 
    } 

реализовать OnClick на стороне сервера

protected void lnkdelete_Click(object sender, EventArgs e) 
{ 
} 

и если вы ДНТ хотите вызвать метод сервера использовать этот

OnClientClick="javascript:confirmAction(); return false;" 
+0

Я пробовал это Abbas

+0

выполните функцию, как указано выше, и попробуйте –

+0

Нет, ее не работает i, созданная ниже: функция Навигация() { javascript: window.open ("http://www.microsoft.com"); } } и OnClientClick = "javascript: Navigate()", но его не работает – Abbas

0

Поместите его в одинарные кавычки, как показано ниже,

<asp:LinkButton ID="btn" CssClass="button" Text="Browse Thumbnail" runat="server" OnClientClick="return confirm('Are you sure you want to delete?');"></asp:LinkButton> 
0

Используйте как этот

function Navigate() 
{ 
    javascript: window.open("microsoft.com"); 
    return false; 
} 

и clientclick следующего

OnClientClick="return javascript:Navigate()" 

или даже

function Navigate() 
{ 
    window.open("microsoft.com"); 
    return false; 
} 

OnClientClick="return Navigate()" 
+0

Спасибо за ответ, но оба не работают – Abbas

+0

it будет работать. Вы проверили 'js'' j avascript' на странице. –

0

Там нет никаких проблем с OnClientClick методом он должен подсказать окно подтверждения. но вы не указали событие onclick кнопки ссылки. Таким образом, вы не сможете получить событие из кода позади.

Вам может понадобиться включить Java скрипты для вашего браузера

How to enable JavaScript in a web browser?

Вы используете Ajax инструментарий? Обновить панель? то вам необходимо зарегистрировать скрипт с помощью менеджера сценариев

Чтобы придать подтверждени сценарий из постбэка AJAX,

ScriptManager.RegisterOnSubmitStatement(btn, Page.GetType(), "confirm", "return confirm('Are you sure');"); 
+0

Javascript включен, я получаю подтверждение на кнопке ввода HTML, но его не работает в asp: linkbutton – Abbas

+0

@Abbas, проверенный на Chrome, FF и IE, работает нормально – Damith

+0

это Abbas

Смежные вопросы