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

本文关键字:标签 net asp 控件 用户 | 更新日期: 2023-09-27 18:20:04

我正在尝试创建与此[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)装饰的用户控件(而不是服务器控件),与我链接的页面代码相同。

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

试试这个:

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