2014-01-30 2 views
0

검색 결과를 팬시 박스에 표시하고 싶습니다. 코드는 웹 양식에서 제대로 작동하지만 마스터 페이지와 통합 할 때 멋진 상자가 열리지 않습니다. 제게 해결책을주세요! 제가 Default2.aspx 두 웹 형태 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 = ""; 
    } 

} 

생성 I가 표시하는 데이터 소스는 SQL 및 추가 사용 GRIDVIEW 그것.

텍스트 상자에 번호를 입력하고 button1을 클릭하십시오. 검사원은 fancybox에 결과를 시작하고 표시합니다. 위의 코드는 훌륭하게 작동합니다. 이것을 마스터 페이지에 추가하면 Fancybox가 트리거되지 않습니다. Tween 버튼을 클릭하면 페이지가 새로 고침됩니다. 모든 답장을 환영합니다. 나는 asp.net에 처음이다. 이 문제를 해결하도록 도와주세요.

답변

0

먼저 마스터 페이지에서 Jquery 소스를 호출하지 말아야합니다. Jquery를로드해야하기 때문에 Default1.aspx에서 Jquery를 호출하는 것을 볼 수 있기 때문입니다. 두 번째로, 버튼에 포스트 백을 만들지 않으려면 버튼에 다음을 추가하십시오 : UseSubmitBehavior="False". 희망이 도움이

관련 문제