Я пытаюсь создать что-то почти похожее на это [1]: http://weblogs.asp.net/infinitiesloop/archive/2007/09/17/inline-script-inside-an-asp-net-ajax-updatepanel.aspxasp.net встроенные теги внутри пользовательского элемента управления
Проблема я столкнулся в том, что если я использую встроенный тег, свойство страницы ClientID это разрешен как «__Page», хотя этого не происходит с дочерними элементами управления этой страницы. Так, например, если я использую элемент управления, как этот
<tag:InlineScript runat="server">
<script type="text/javascript">
alert('<%= ClientID %>');
alert('<%= SomeLabelInTheSamePage.ClientID %>');
</script>
</tag:InlineScript>
страница отображается как:
<script type="text/javascript">
alert('__Page');
alert('MainContent_CorrectLabelId');
</script>
Любая идея, почему?
[1] Различие заключается в том, что я использую пользовательский элемент управления (вместо управления сервером), украшенный ParseChildren (false), тот же код, что и страница, с которой я связан.
вы уверены, что вы делаете Привязка правильно вернуть ClientID где в коде позади, при необходимости вы назначая или объявляя ClientID также ClientId хранится в сессии [» ClientID "] в вашем коде ..? если вы пытаетесь следовать примеру. Я не вижу, где вы регистрируете ScriptManager.RegisterStartupScript (это, typeof (Страница), UniqueID, «alert ('hi')», true); как в примере Url. – MethodMan
Какие еще сценарии предупреждают ('<% = ClientID%>'); сделать правильный идентификатор? только в пользовательских элементах управления? –
У вас есть тег: InLineScript, вы пытались сделать что-либо вроде var tmp = document.getElementsByTagName ("yourTagName") – MethodMan