сохранить HTML-элементы div после обновления панели обновления в asp.net - PullRequest
1 голос
/ 03 сентября 2010

Я использую jquery facebox как окно подтверждения удаления.Когда я делаю удаление, он удаляет мою запись и я показываю результаты через Javascript.Но он всегда показывает

Error: document.getElementById("ImageButtonDiv") is null

вот мой код,

protected void Delete_Click(object sender, EventArgs e)
{
    // my delete
    ScriptManager.RegisterClientScriptBlock(Delete, typeof(Button), "dele", 
          "ShowImageButtonDiv();topBar('Successfully Deleted');", true);
}

и моя функция JavaScript,

function ShowImageButtonDiv() {
    document.getElementById("ImageButtonDiv").style.display = 'block';
    document.getElementById("datatable").style.display = 'block';
    document.getElementById("adddiv").style.display = 'none';
    return true;
}

РЕДАКТИРОВАТЬ:

Когда мое подтверждение удаления не находится внутри jquery facebox, он получает мой элемент.В чем может быть проблема?

Я заменил, но все еще не работает,

ScriptManager.RegisterClientScriptBlock(LbDelete, typeof(LinkButton), "dele", 
 "jQuery(document).ready(function(){UsersDatatable('" + HfJsonString.Value + "');
        ShowImageButtonDiv();topBar('Successfully Deleted');});", true);

1 Ответ

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

Это произошло потому, что ваш скрипт, вероятно, запущен до того, как dom готов, поэтому он не может найти ImageButtonDiv.

Вы можете изменить это, поместив этот код для запуска, когда dom будет готов Например.

 ScriptManager.RegisterClientScriptBlock(Delete, typeof(Button), "dele", 
          "jQuery(document).ready(function(){ ShowImageButtonDiv();topBar('Successfully Deleted'); });"
, true);
...