Какие пожары первыми?ASP SQLDataSource ИЛИ строка запроса C #? - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть GridView, где пользователь нажимает кнопку удаления.Когда эта кнопка удаления нажата, она присоединяется к источнику данных SQL на самой странице ASP.Делая это таким образом, облегчает необходимость выбора строки, а затем удалить.

У меня также есть в GridView вызов

OnRowDeleting="GridView1_RowDeleting"

.Этот метод довольно прост в коде позади.Источник данных ASP SQL проверяет значение в таблице, используя CASE WHEN, и выполняет обновление этого значения или нет.

Я понял, что после этого OnRowDeleting всегда будет происходить до того, как элемент управления GridView действительно удалит его.Он работает правильно, когда источник данных SQL не запускается.(Я не хочу, чтобы это основывалось на этом предложении CASE WHEN), затем метод OnRowDeleting запускает и вызывает вызов Javascript, который у меня есть .. выглядит следующим образом.

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {   
        ClientScript.RegisterStartupScript(GetType(), "hwa", "Ealert();", true);   
    }

Проблема возникает, когда источник данных SQL выполняется правильно, как и должно быть, OnRowDeleting (GridView1_RowDeleting) по-прежнему срабатывает.

Есть ли способ запустить этот Javascript только тогда, когда источник данных SQL не выполняется?

1 Ответ

0 голосов
/ 27 сентября 2018

Я не уверен, задал ли я правильный вопрос или нет.Тем не менее, не имеет значения.Я нашел ответ, который искал.По сути, мне нужен был способ доступа к определенной ячейке в форме строки GridView без ее выбора.При нажатии кнопки удаления в GridView он вызывает свой метод OnRowDeleting, который я настроил.Оттуда я выбираю и сравниваю его значение следующим образом:

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        TableCell cell = GridView1.Rows[e.RowIndex].Cells[12];
        if(cell.Text == "Yes")
        {
            //Do Nothing
        }
        else
        {
            ClientScript.RegisterStartupScript(GetType(), "hwa", "Ealert();", true);
            e.Cancel = true;
        }


    }

Я не знал, что смогу получить доступ к ячейке таким образом.Мой первоначальный вопрос может не иметь смысла и кажется неприменимым, но я спросил его, думая, что мне придется выполнить запрос SQL для кода, а не с использованием источника данных ASP SQL.Делая это таким образом, решает все в одном.

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