Clickable GridViewRow переопределяет дочерний HyperLink - PullRequest
2 голосов
/ 18 ноября 2009

Итак, я сделал каждую строку GridView кликабельной, используя этот метод:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Attributes["OnClick"] = Page.ClientScript.GetPostBackEventReference(GridView1, "Select$" + e.Row.RowIndex.ToString());
    }
}

Чтобы при щелчке строки программа перенаправляла на страницу Page1 с помощью метода GridView.SelectedRowChanged.

Каждая строка также содержит некоторую гиперссылку, которая должна перенаправлять на страницу Page2. Однако щелчок по гиперссылке перенаправляет только на страницу Page1, поскольку событие SelectedRowChanged запускается первым.

Как перенаправить на нужную страницу при нажатии на гиперссылку? Это так же просто, как сделать HyperLinks LinkButtons и выполнить метод Click?

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Необходимо проверить, является ли целевой элемент управления привязкой, игнорировать выполнение обратной передачи. Проверьте следующий экземпляр.

<div onclick="if(event.target.tagName != 'A') { alert('Foo'); }" style="width: 100px; height: 100px;">
    <a href="Default.aspx">Home</a>
</div>
0 голосов
/ 18 ноября 2009

Оказывается, что это так же просто, как создать кнопки ссылок HyperLinks и выполнить метод Click. Кто знал?

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