2009-11-05 4 views
-1

Я работаю с таблицей элементов управления asp.net на стороне клиента. Все они называются следующим образом, когда они создаются на стороне сервера: «txt_name_» + rowNum. Я знаю, что могу получить к ним доступ по их идентификатору, используя «<% = Control.ClientID%>». На стороне клиента у меня есть доступ к текущей строке num через переменную javascript. Мне интересно, как я могу получить доступ к одному из элементов управления на стороне клиента, используя что-то вроде следующего (что, похоже, не работает): «<% = txt_name_» + jsRowNumVar + «.ClientID%>». поэтому я по существу пытаюсь заменить переменную javascript как часть имени управления asp.net, и похоже, что она не работает. Любые идеи о том, как я это выполнил?встроить переменную javascript в asp.net control id

ответ

0

В качестве альтернативы вы можете визуализировать идентификаторы клиентов своих строк с помощью массива javascript, и вы можете использовать его с индексом строки.

string jsToRender = "<script>var myCtrlIds = new Array('" + 
     text0.ClientId + "', '" + 
     text1.ClientId + "', '" + 
     text2.ClientId + "');</script>"; 
Page.ClientScript.RegisterStartupScript(typeof(MyPage), "jsKey", jsToRender); 

Затем использовать массив ID управления в клиентских скриптах:

<script> 
     var text0Value = document.getElementById(myCtrlIds[0]).value; 
</script> 
+0

не уверен, что вы имеете в виду. – Riz

1

Это не работает, как этот <% ...%> материал оценивается на сервере, и приходит к клиенту как html. Размещение имени переменной javascript не принесет вам пользы

Смежные вопросы