1

マスターページの下にあるページで Ajax を使用しています。スクリプト マネージャーの場所に問題があります。スクリプト マネージャーをすべてのページに適用するのではなく、1 つのページだけに適用したいと考えています。

これはマスターページです:

         <div>

                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

                </asp:ContentPlaceHolder>

            </div>

これがスクリプトマネージャーを追加したいページです

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
   <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:TextBox ID="TextBox1" runat="server" Width="120"></asp:TextBox>
    <asp:NumericUpDownExtender
        ID="NumericUpDownExtender1" runat="server" TargetControlID="TextBox1" Maximum="9" Minimum="1" Width="120">
    </asp:NumericUpDownExtender>
</asp:Content>

実行すると、「タイプ 'ScriptManager' のコントロール 'ContentPlaceHolder1_ScriptManager1' は、runat=server のフォーム タグ内に配置する必要があります。」という問題が発生します。

そのため、次のようなフォームタグ内のマスターページにコンテンツを配置する必要があることをインターネットで読みました。

          <div>
            <form id="form1" runat="server" style="height: 25px">
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

                </asp:ContentPlaceHolder>
                </form>
            </div>

しかし、これを行うと別の問題が発生します:「ページにはサーバー側の Form タグを 1 つしか含めることができません。」

私は何をすべきかわからない、助けてくれてありがとう

4

4 に答える 4

0

問題は、このページに別のフォームがあったためです。しかし、フォーム内のフォームではなく、マスター ページに複数のフォームを持つことができないのはなぜですか?

于 2013-04-05T09:26:29.323 に答える
0

Asp.net では、これ以上フォーム タグを使用することはできません。多くのフォームを用意する代わりに、すべてのコンテンツを含む 1 つの大きなフォームだけを用意します。

マスターで:

<body>
  <form id="form1" runat=server>

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

   </form>
</body>

ContentPlaceHolder で:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    'your code here'
</asp:Content>

複数のフォーム タグがあるかどうかを確認するには、すべてのファイルで検索を使用します。

于 2013-04-05T08:42:41.543 に答える