0

私はWebユーザーコントロールを持っています:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SitewideNotification.ascx.cs" Inherits="Controls_Fresh_SitewideNotification" %>

<asp:PlaceHolder runat="server" ID="Javascript">
    test
</asp:PlaceHolder>

私の背後にあるコードには、次のものがあります。

protected void Page_Load(object sender, EventArgs e)
{
    Page.Master.FindControl("JSContent").Controls.Add(Javascript);
}

私のマスターページは次で終わります:

        <asp:ContentPlaceHolder runat="server" ID="JSContent"/>

    </form>

</body>
</html>

しかし、エラーが発生します:

System.Web.HttpException: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

Page.Master.FindControl("JSContent").Controls.Add(Javascript);

私はこれがなぜであるかについて少し迷っています、誰かがそれを修正する方法を知っていますか?

4

1 に答える 1

0

これは通常、ページのヘッド セクションに <% %> ブロックを含む JavaScript コードがある場合に見られます。頭から体の下に移動すると、私が見た状況では消えていくようです. コードのその部分を見せてくれなかったので、問題が何であるかを正確に言うのは難しいでしょうが、ここに問題に関する良い投稿があります:

http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/

于 2012-10-18T13:40:58.040 に答える