我想在Fancybox中显示搜索结果。代码在Web表单中工作正常,但是当我与母版页集成时,奇特的框没有打开。请给我一个解决方案! 我创建了两个Web表单,Default1.aspx和Default2.aspx Default1.aspx 中的代码如下所示,
<head runat="server">
<title></title>
<!-- Add jQuery library -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- Add mousewheel plugin (this is optional) -->
<script type="text/javascript" src="/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
<!-- Add fancyBox -->
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<script lang="javascript" type="text/javascript">
$(document).ready(function (){
$('#fancybox').fancybox({
autoDimensions: false,
height: 400,
width: 700,
type: "iframe"
});
});
</script>
<a id="fancybox" runat="server" style=" visibility: hidden "></a>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
**Default1.aspx.cs**
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox1.Text = Request.QueryString["cargoNo"];
}
}
protected void Button1_Click(object sender, EventArgs e)
{
fancybox.Attributes["href"] = "~/Default2.aspx?cargoNo=" + TextBox1.Text.Trim();
Literal1.Text = "<script> $(document).ready(function() {$(\"#fancybox\").trigger('click');});</script>";
clear();
}
public void clear()
{
TextBox1.Text = "";
}
}
在Default2.aspx中,我添加了一个Sql数据源并使用Gridview来显示它。
在文本框中输入数字并单击button1。 serach将启动并在fancybox中显示结果。上面的代码工作得很好。 当我将其添加到母版页时,Fancybox没有触发。单击Twhen按钮,页面刚刚刷新。所有回复都表示赞赏。我是asp.net的新手。请帮我解决这个问题。
答案 0 :(得分:0)
首先,确保你没有在你的母版页中调用Jquery源代码,因为我看到你在Default1.aspx
上调用了Jquery,因为Jquery应该加载一次。其次,如果您不希望按钮进行回发,请将其添加到按钮:UseSubmitBehavior="False"
。希望这个帮助