0

我在使用内部带有 ASP.NET WebForm 的 Colorbox 时遇到问题。我想做的是:

  1. 用户点击一个链接,颜色框弹出
  2. 在颜色框中,用户在文本框中输入一个术语并单击提交按钮
  3. 提交时,页面点击数据库,然后显示结果(仍在颜色框内)

现在,我有步骤 #1 和 #2 工作,但 #3 不是。如果我单击提交按钮,浏览器会导航到在颜色框 (FAQ.aspx) 中加载的页面。

测试.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test Page</title>
<link href="css/colorbox.css" rel="stylesheet" />
<script src="js/jquery-1.10.2.min.js"></script>
<script src="js/jquery.colorbox.js"></script>
</head>
<body>
   <form id="form1" runat="server">
   <div>
     <a class="cbox">FAQs</a>
   </div>
   </form>
   <script>
      $(document).ready(function () {
        var colorbox = $("#colorbox");
        $('form#Form1').prepend(colorbox);
      });
      $('a.cbox').colorbox({ href: "FAQ.aspx" });
    </script>
</body>
</html>

常见问题解答.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>Frequently Asked Questions</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    Search: <asp:TextBox runat="server" ID="txtSearch" /> <asp:Button runat="server" ID="btnSubmitSearch" Text="Submit" OnClick="btnSubmitSearch_Click"/>
    <br />
    <asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Literal ID="litOutput" runat="server" />
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnSubmitSearch" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
    <br />
  </div>
  </form>
</body>
</html>

谁能帮我弄清楚我做错了什么?

4

1 回答 1

0

您必须在 iframe 中加载颜色框内容:

$('a.cbox').colorbox({ href: "FAQ.aspx", iframe: true, width: 456, height: 100 });
于 2013-11-07T15:59:51.680 回答