Как мне сделать ссылку ButtonTye = Изображение при использовании asp: Commandfield (необходимо OnClientClick) Gridview - PullRequest
1 голос
/ 20 февраля 2012

Допустим, у меня есть

    <asp:CommandField ShowSelectButton="True" />
    <asp:BoundField DataField="ProductName" HeaderText="Product"
    <asp:BoundField DataField="ProductName" HeaderText="Qty"
    <asp:CommandField ShowDeleteButton="True" />

Мне нужно всплывающее окно с надписью «Хотите удалить», когда пользователи нажимают кнопку «Показать удаление». Я знаю, что я должен сделать мой код в GridView1_RowDataBound. Но я получу эту кнопку, Приветствия

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012

Используйте TeamplateField вместо CommandField и вставьте в него кнопку с CommandName = "Удалить".Тогда вы можете получить эту кнопку по Id.

0 голосов
/ 20 февраля 2012

Вы можете использовать эфирный код jQuery для добавления этого предупреждающего сообщения.

С помощью кода вы можете добавить дополнительный вызов javascript как

protected void MyGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        // loop all data rows
        foreach (DataControlFieldCell cell in e.Row.Cells)
        {
            // check all cells in one row
            foreach (Control control in cell.Controls)
            {
                // I go to get the button if exist
                Button button = control as Button;
                if (button != null && button.CommandName == "delete")
                    // Add delete confirmation
                    button.OnClientClick = "return confirm("Delete this record? This action cannot be undone...");";
            }
        }
    }
}

Прямое использование jQuery и javascript вы можетедобавить этот JavaScript.

<script type="text/javascript">
$(document).ready(function() {
    // make sure to select the correct buttons, here I say that value=Delete
    var oButtons = $('#<%= YourGridID.ClientID %> :button[value=Delete]');
    oButtons.each(function () {
        // capture here any other click event.
        var onclick = $(this).attr('onclick');
        $(this).attr('onclick', null).click(function () {                
            var doPostBack = confirm("Delete this record? This action cannot be undone...");
            if (doPostBack)
               return onclick();
            else
               return false
        });
    });
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...