【问题标题】:How to call js extern function from asp net page如何从asp网页调用js extern函数
【发布时间】:2017-11-16 01:37:12
【问题描述】:

我在cshtml 有这个页面。 此页面在“formImpressao”(ASP.NET PAGE)中执行提交

CSHTML 页面

@using Web.Mvc.Helpers
@{
    string msgSucesso = "test";      
}
<div id="divSucess">
<h5 style="background-image: url('themes/base/images/48/ico_ok.gif'); text-align:center; background-repeat: no-repeat; font-family: Verdana; color: #1d7100; font-size:'72'">@msgSucesso</h5>
</div>


<div id="HiddenFormTarget" style="display:none;">
    <form id="formImpressao" method="post" target="frmPrint" action="/VisualizarRelatorios/ImprimirRelatorio.aspx"></form>
</div>
<iframe id="frmPrint" name="frmPrint" width="0" height="0" runat="server">
</iframe>


<script language="javascript" type="text/javascript">
    $("#formImpressao").submit();
</script>

ASPX 页面 (ImprimirRelatorio.aspx)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ImprimirRelatorio.aspx.cs" Inherits="Views.Views.ImprimirRelatorios.ImprimirRelatorio" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<%--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">--%>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
    <script src="../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>    
</head>
<body style="margin: 0px">

    <form id="form1" runat="server"  style=" width:100%; height:100%;" >
    <div style=" width:100%; height:100%; overflow-y:hidden; overflow-x:hidden" >
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <rsweb:ReportViewer ID="rptRelatorio" runat="server" Width="100%"
            Height="100%" ProcessingMode="Remote" >
        </rsweb:ReportViewer>
    </div>
    </form>
</body>
</html>
<script language="javascript">

    function Imprimir()
    {
        var viewer = $find("rptRelatorio");
        var isLoading = viewer.get_isLoading();
        var impresso = false;

        if (!isLoading) {
            $("input[type='image']:not(:disabled)[title*='Print']").click();
            impresso = true;
        }

        if (!impresso) {
            setTimeout(Imprimir, 1000);
        }else {
          $("#divSucess").style.backgroundColor = "red"; 
        }

    }

    $(document).ready(function () {
        setTimeout(Imprimir, 4000);
    });

</script>

Imprimir 函数验证报表是否在 Reporting Services 中打印。

如果打印,需要赋值给divdivSuccess,属性:style.backgroundColor = "red"

问题是asp表单看不到divSuccess,cshtml页面不显示asp表单。

如何在asp页面中调用js函数来播放“divSuccess”页面的DOM?

还有其他方法吗?

两页不说话。

【问题讨论】:

    标签: javascript c# jquery asp.net


    【解决方案1】:

    您可以发送 AJAX 请求以获取 ImprimirRelatorio.aspx 页面的内容。在成功处理程序中,您可以解析响应以获取 ImprimirRelatorio.aspx 页面的正文标记的内部 HTML,将结果设置为某个容器(不带 &lt;iframe&gt;)并调用 Imprimir 函数(详见 @ 987654321@)。注意,Imprimir 函数应该是成功事件处理程序的一部分,应该在调用页面中定义。

    【讨论】:

      猜你喜欢
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多