Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从ASP.Net代码隐藏触发FancyBox_Asp.net_Jquery_Fancybox - Fatal编程技术网

从ASP.Net代码隐藏触发FancyBox

从ASP.Net代码隐藏触发FancyBox,asp.net,jquery,fancybox,Asp.net,Jquery,Fancybox,我想在asp.net页面上使用JQuery FancyBox,但我找到的所有示例都显示了从锚标记()触发FancyBox。我找不到从codebehind触发fancybox的例子。 更具体地说,我通过点击LinkButton动态创建了一个pdf文件。创建文件后,我想使用fancybox显示它(我第一次使用Jquery和fancybox)。任何展示如何做到这一点的例子都将不胜感激。谢谢。链接按钮刷新页面(回发)后,您需要向页面中插入一些脚本 您的页面应该已经设置了类似的内容 <a href=

我想在asp.net页面上使用JQuery FancyBox,但我找到的所有示例都显示了从锚标记()触发FancyBox。我找不到从codebehind触发fancybox的例子。
更具体地说,我通过点击LinkButton动态创建了一个pdf文件。创建文件后,我想使用fancybox显示它(我第一次使用Jquery和fancybox)。任何展示如何做到这一点的例子都将不胜感激。谢谢。

链接按钮刷新页面(回发)后,您需要向页面中插入一些脚本

您的页面应该已经设置了类似的内容

<a href="#" id="hidden_link" style="display:none;"></a>
<script type="text/javascript">
    function LaunchFancyBox() { 
          $("#hidden_link").fancybox().trigger('click'); 
    } 
</script>

函数LaunchFancyBox(){
$(“#隐藏链接”).fancybox().trigger('click');
} 
然后,您将从按钮单击处理程序在页面底部注入一些脚本

因此,在页面底部,您将添加以下内容

<asp:Literal runat="server" ID="Literal1" />

也有助于解释这一点,但是他们总是在页面加载时启动它,因此不需要注入脚本。但是,因为您希望在回发时执行此操作,所以需要执行脚本注入位。

在您的链接按钮刷新页面(回发)后,您需要向页面中注入一些脚本

您的页面应该已经设置了类似的内容

<a href="#" id="hidden_link" style="display:none;"></a>
<script type="text/javascript">
    function LaunchFancyBox() { 
          $("#hidden_link").fancybox().trigger('click'); 
    } 
</script>

函数LaunchFancyBox(){
$(“#隐藏链接”).fancybox().trigger('click');
} 
然后,您将从按钮单击处理程序在页面底部注入一些脚本

因此,在页面底部,您将添加以下内容

<asp:Literal runat="server" ID="Literal1" />

也有助于解释这一点,但是他们总是在页面加载时启动它,因此不需要注入脚本。但是,因为要在回发时执行此操作,所以需要执行脚本注入位。

。只是对Rocki的回答做了一些小的调整。不得不

<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $("#hidden_link").fancybox({
        'title'         : 'Test Document',
        'titleShow'     : true,
        'titlePosition' : 'over',
        'titleFormat'   : 'formatTitle',
        'type'          : 'iframe',
        'width'         : '98%',
        'height'        : '98%',
        'hideOnOverlayClick': false,
        'hideOnContentClick' : false,
        'overlayOpacity': 0.7,
        'enableEscapeButton' : false
    });
});
</script>

$(文档).ready(函数(){
$(“隐藏链接”).fancybox({
“标题”:“测试文件”,
“标题秀”:没错,
“标题位置”:“结束”,
“标题格式”:“格式标题”,
'type':'iframe',
“宽度”:“98%”,
“高度”:“98%”,
“HideOnOvercyclick”:false,
“hideOnContentClick”:false,
“产能过剩”:0.7,
“enableEscapeButton”:false
});
});
在head标记中,并插入以下代码:

protected void SomeButton_Click(object sender, EventArgs e)
{          
    hidden_link.Attributes["href"] = "some_file.pdf";
    Literal1.Text = "<script>jQuery(document).ready(function() {$(\"#hidden_link\").trigger('click');});</script>";
}
protectedvoidsomebutton\u单击(对象发送者,事件参数e)
{          
隐藏链接.Attributes[“href”]=“some_file.pdf”;
Literal1.Text=“jQuery(document).ready(function(){$(\”\hidden\u link\”).trigger('click');}”);
}

感谢RocktheSixstring为您提供了正确的方向

已解决。只是对Rocki的回答做了一些小的调整。不得不

<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $("#hidden_link").fancybox({
        'title'         : 'Test Document',
        'titleShow'     : true,
        'titlePosition' : 'over',
        'titleFormat'   : 'formatTitle',
        'type'          : 'iframe',
        'width'         : '98%',
        'height'        : '98%',
        'hideOnOverlayClick': false,
        'hideOnContentClick' : false,
        'overlayOpacity': 0.7,
        'enableEscapeButton' : false
    });
});
</script>

$(文档).ready(函数(){
$(“隐藏链接”).fancybox({
“标题”:“测试文件”,
“标题秀”:没错,
“标题位置”:“结束”,
“标题格式”:“格式标题”,
'type':'iframe',
“宽度”:“98%”,
“高度”:“98%”,
“HideOnOvercyclick”:false,
“hideOnContentClick”:false,
“产能过剩”:0.7,
“enableEscapeButton”:false
});
});
在head标记中,并插入以下代码:

protected void SomeButton_Click(object sender, EventArgs e)
{          
    hidden_link.Attributes["href"] = "some_file.pdf";
    Literal1.Text = "<script>jQuery(document).ready(function() {$(\"#hidden_link\").trigger('click');});</script>";
}
protectedvoidsomebutton\u单击(对象发送者,事件参数e)
{          
隐藏链接.Attributes[“href”]=“some_file.pdf”;
Literal1.Text=“jQuery(document).ready(function(){$(\”\hidden\u link\”).trigger('click');}”);
}

感谢RocktheSixstring为您提供了正确的方向

我使用ASP.Net和VB.Net作为代码隐藏

ASPX: 1) 我有一个隐藏的锚,样式为display:none和noliteral 添加隐藏的锚标记id=“hidden\u link”clientidmode=“static”style=“display:none;”class=“fancybox fancybox.iframe”

在内容区域或标题中:

 script type="text/javascript">
             $("#hidden_link").fancybox({
             //'title': 'Test Document',`enter code here
             //'titleShow': true,
             //'titlePosition': 'over',
             //'titleFormat': 'formatTitle',
             href: "SessioDocqReportPreview.aspx",
             'width': '98%',
             'height': '98%',
             'hideOnOverlayClick': false,
             'hideOnContentClick': false,
             'overlayOpacity': 0.7,
             'enableEscapeButton': false            
         }); 

     });
2) In the code behind button click event 
     Dim csMgr As ClientScriptManager = Me.ClientScript
     If Not csMgr.IsStartupScriptRegistered("OpenPopUp_Script") Then
       Dim sb As New StringBuilder()
       sb.AppendLine("$(document).ready(function() {")
       sb.AppendLine("$(""#hidden_link"").trigger('click');")
       sb.AppendLine("return false;")
       sb.AppendLine("});")
       hidden_link.Attributes("href") = "xyz.aspx"
       csMgr.RegisterStartupScript(Me.GetType(), "OpenPopUp_Script", sb.ToString(), True)
     End If
3) This way we can get rid of Literal control, if still want to use the set the sb.Tostring to the text of the literal control with script tags and ofcourse remove the StatupScript.
BTW my fancybox is from www.fancyapps.com and v2.0.

我使用ASP.Net和VB.Net作为后台代码

ASPX: 1) 我有一个隐藏的锚,样式为display:none和noliteral 添加隐藏的锚标记id=“hidden\u link”clientidmode=“static”style=“display:none;”class=“fancybox fancybox.iframe”

在内容区域或标题中:

 script type="text/javascript">
             $("#hidden_link").fancybox({
             //'title': 'Test Document',`enter code here
             //'titleShow': true,
             //'titlePosition': 'over',
             //'titleFormat': 'formatTitle',
             href: "SessioDocqReportPreview.aspx",
             'width': '98%',
             'height': '98%',
             'hideOnOverlayClick': false,
             'hideOnContentClick': false,
             'overlayOpacity': 0.7,
             'enableEscapeButton': false            
         }); 

     });
2) In the code behind button click event 
     Dim csMgr As ClientScriptManager = Me.ClientScript
     If Not csMgr.IsStartupScriptRegistered("OpenPopUp_Script") Then
       Dim sb As New StringBuilder()
       sb.AppendLine("$(document).ready(function() {")
       sb.AppendLine("$(""#hidden_link"").trigger('click');")
       sb.AppendLine("return false;")
       sb.AppendLine("});")
       hidden_link.Attributes("href") = "xyz.aspx"
       csMgr.RegisterStartupScript(Me.GetType(), "OpenPopUp_Script", sb.ToString(), True)
     End If
3) This way we can get rid of Literal control, if still want to use the set the sb.Tostring to the text of the literal control with script tags and ofcourse remove the StatupScript.
BTW my fancybox is from www.fancyapps.com and v2.0.

你能用一个构造合适的vbscript/javascript onload事件处理程序来弹出这个框吗?@Will,他需要注入脚本,因为它不是在
页面加载
,而是在点击
按钮
之后,谢谢Rocking'-我将避免就我以后不太习惯的事情提供建议。:)你能用一个构造合适的vbscript/javascript onload事件处理程序来弹出这个框吗?@Will,他需要注入脚本,因为它不是在
页面加载
,而是在点击
按钮
之后,谢谢Rocking'-我将避免就我以后不太习惯的事情提供建议。:)感谢您的回复RocktheSixstring,我正在尝试此操作,但是在LaunchFancyBox()定义中,出现了指向第一个脚本的javascript错误。上面写着“预期目标”。对不起,我不知道出了什么问题。通过注入脚本,您的意思是使用ScriptManager.RegisterStartupScript?不,我的意思是您将在页面的最底部放置一个文本控件,该控件在
页面加载上不包含任何内容。然后单击按钮时,添加一个字符串
Literal1.Text=“$(document).ready(LaunchFancyBox());”
我已经编辑了我的答案。很抱歉,我无法测试脚本部分,因为我没有在IDE前面。但是,这个概念仍然是一样的。有时,当我不在开发人员模式下时,我会忘记一些基础知识…:(感谢RockytheSixstring和markt,但这在页面上给了我一个javascript错误,说“加载为null或不是对象”。在调试模式下,它停在:fancybox_abort=function(){loading.hide();在fancybox-1.3.1.js内。感谢您回复RockytheSixstring,我