asp.net中的母版页内的AJAX脚本管理器

问题描述 投票:1回答:3

我在页面中使用Ajax,它位于母版页下。我的脚本管理器的位置有问题。我不希望脚本管理器适用于所有页面,只需一个页面。

这是主页面:

         <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标签。”

我不知道该怎么做,谢谢你的帮助

asp.net ajax scriptmanager
3个回答
0
投票

在Asp.net中,您不能拥有更多表单标签。而不是有很多表单,你只有一个包含所有内容的大表单。

在师父:

<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>

在所有文件中使用搜索来检查您是否有多个表单标记。


0
投票

问题是因为我在这个页面中有另一个表单。但不是表单中的表单,为什么我不能在主页面中有多个表单?


-1
投票

把你的script manager放在contentplace holder里面。

© www.soinside.com 2019 - 2024. All rights reserved.