Скрыть и показывать элементы div по нажатию кнопки в панели обновления - PullRequest
0 голосов
/ 29 ноября 2010

Я использую UpdatePanel ---> LinkButton -> Div ---> Структура таблицы. Когда я нажимаю кнопку Link, div должен сначала показать формат таблицы и выполнить код в событии OnClick. Проблема, с которой я сталкиваюсь, состоит в том, что я пробовал так много функций jquery, показанных ниже:

<asp:LinkButton ID="lnkbtnUnitAdd" runat="server" OnClientClick="Toggledivs()"  OnClick="lnkbtnAdd_Click" Text="Add" ></asp:LinkButton>

Даже если бы я использовал:

$(document).ready(function()
{ 
    $("#lnkbtnUnitAdd").click(function () {
        $("#divUnit").show("slow"); return false;
    });
});

или

function Toggledivs()
{
    $("#lnkbtnUnitAdd").click(function () {
        $("#divUnit").show("slow"); return false;
    });
}

или без использования свойства OnClientClick в LinkButton

результат такой же, так как функция возвращает false в кнопке Onclient click или document.ready function (), поэтому событие Onclick кнопок не срабатывает.

И если я прокомментирую возвращаемое значение false, div не будет отображаться должным образом.

Пожалуйста, помогите, как действовать, поскольку весь процесс выполняется в панели обновления.

Ответы [ 2 ]

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

Если я понял, что вы имели в виду, это должно сделать это: __ doPostBack следует вызывать только после завершения анимации, вы можете сделать это, передав функцию обратного вызова второму параметру jquery's show. ОБНОВЛЕНИЕ

$(document).ready(function()
{ 
    $("#lnkbtnUnitAdd").click(function (e) {
        var btnName = $(this).attr('name');           
        $("#divUnit").show("slow",function(){
           __doPostBack(btnName,''); //now call the actual postback event      
        });

        e.preventDefault(); //prevent default postback behavior
        return false;
    });
});
0 голосов
/ 29 ноября 2010

В этом случае вам, возможно, придется использовать Control.ClientID.Попробуйте это

$(document).ready(function(){ 
    $("#<%=lnkbtnUnitAdd.ClientID%>").click(function () {
        $("#divUnit").show("slow"); return false;
    });
});

Я не буду рекомендовать добавлять обработчик событий в HTML.Но следующий код должен работать.Вам не нужно назначать событие click снова.

function Toggledivs()
{
    $("#divUnit").show("slow"); 
    return false;
}

Дайте

return true;

, если вы хотите, чтобы выполнялась функция onclick.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...