2013-06-18 2 views
0

У меня есть кнопки в одном столбце Type. Когда пользователь нажимает на кнопку, он должен быть отключен. Это отлично работает на первой странице, но не на второй, третьей, четвертой страницах.Отключить кнопку в Gridview на нескольких страницах

У меня есть 10 строк на моей странице и e.CommandArgument получает номер строки.

Я считаю, что кнопки заполнены сеткой в ​​диапазоне от 0 до 9, а e.CommandArgument - 1-10. Вот почему у меня есть (e.CommandArgument) - 1, и он работает на первой странице.

То, что на второй странице следующие кнопки снова 0-9, но мой e.CommandArgument - 11-20. Есть идеи?

protected void GridViewType_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    Button btnVote = (Button)GridViewType.Rows[Convert.ToInt32(e.CommandArgument) - 1].FindControl("btnVote"); 
    btnV ote.Enabled = false; 

} 
+0

Вы можете установить логическое значение в переменной сеанса, то читать с, что для определения, если кнопки включены или нет. – Botonomous

ответ

0

попробуйте следующее

protected void GridViewType_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    GridViewRow row = (GridViewRow)(e.CommandSource); 
    Button btnVote = (Button)row.FindControl("btnVote"); 
    btnVote.Enabled = false; 
} 

любезно проверить это:

want to Find Control in gridview on RowCommand event

+0

Дает ошибку: System.InvalidCastException: Невозможно использовать объект типа «System.Web.UI.WebControls.GridView» для ввода «System.Web.UI.WebControls.Button». на SWOTLine.index.GridViewType_RowCommand (отправитель объекта, GridViewCommandEventArgs e) – Apollo

+0

@Apollo я обновил свой код –

+0

дает ошибку: Ошибка Невозможно неявно преобразовать тип 'System.Web.UI.Control' в 'System.Web.UI. WebControls.Button. Явное преобразование существует (вы пропускаете листинг?) – Apollo