Основная проблема здесь заключается в том, что когда ваш элемент управления находится внутри другого элемента управления (например, сетки), asp.net добавляет префикс id вашего элемента управления, чтобы сохранить идентификатор элемента управления уникальным, например, идентификатор не будет txbProdAc, но будет Gridview1_txbProdAc или даже это:
Panel1_Panel2_gridview1_txProdAc.
если вы хотите узнать в коде, какой идентификатор asp.net будет «отдавать» или «переименовывать» ваш элемент управления, вы можете использовать свойство .ClientID:
txtProdAc.ClientID даст вам идентификатор, который вы должны использовать из javascript / jquery.
Если вы когда-нибудь поместите ваш txbProdAc в другой элемент управления, он все равно будет работать, потому что функция .ClientID всегда будет давать вам правильный идентификатор для элемента управления в клиентском скрипте.
Michel