用户控件内的asp.net内联标签

时间:2012-01-12 18:55:56

标签: c# javascript asp.net

我正在尝试创建与此[1]几乎相似的内容:http://weblogs.asp.net/infinitiesloop/archive/2007/09/17/inline-script-inside-an-asp-net-ajax-updatepanel.aspx

我遇到的问题是,如果我使用内联标记,则页面属性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)修饰的用户控件(而不是服务器控件),代码与我链接的页面相同。

1 个答案:

答案 0 :(得分:1)

试试这个:

<tag:InlineScript id="myInlineScript" runat="server">
    <script type="text/javascript">
        alert('<%=myInlineScript.ClientID %>');
        alert('<%=SomeLabelInTheSamePage.ClientID %>');
    </script>
</tag:InlineScript>