JS模式窗体

本文介绍如何通过JS模式窗体实现打印功能,并详细解释了如何在前台使用ItemTemplate和LinkButton来触发模式窗体,以及如何在后端通过函数ShowApply处理路径和参数传递,确保页面在打开模式窗体后能够正确跳转回原页面。
摘要由CSDN通过智能技术生成

前台只需这样写即可。

<ItemTemplate>
<asp:LinkButton ID="lbtnApplyNo" runat="server"  Text="打印" 
OnClientClick='<%# Eval("ApplyNo","ShowApply(\"ShippingApplyPrint.aspx?ApplyNo={0}\");return false;") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>

function ShowApply(url, width, height) {
    var dialogInfo = "";
    if (width > 0) {
        dialogInfo = "dialogWidth=" + width + "px;dialogHeight=" + height + "px";
    }
    else {
        dialogInfo = "dialogWidth=760px;dialogHeight=700px";
    }
    url = url + "&rn=" + Math.random();//使路径改变原来状态值。Math.random()是产生随机说的方法
    if (window.showModalDialog != null)//IE判断
    {
        var result = window.showModalDialog(url, "", dialogInfo);//传路径和模式窗体的高和宽
        if (result) {
            var urlParts = document.URL.split("?");
            var isUrl = window.location.href;
            if (urlParts[1]) {
                isUrl = isUrl.replace(/contractNo=[^&]*/i, "ApplyNo=").replace(/sid=[^&]*/g, "sid=" + parseInt(10 * Math.random()));
            }
            else {
                isUrl = isUrl.replace(/contractNo=[^&]*/i, "ApplyNo=").replace(/sid=[^&]*/g, "sid=" + parseInt(10 * Math.random()));
            }
            window.location.href = isUrl;
            //window.document.forms[0].submit();
        }
        return true;
    }
    window.open(url, "", "height=400px,width=800px");
    return true;
}

 这是实现模式窗体效果。

效果:

 

posted on 2011-08-23 11:08 蕙草 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/huicao/archive/2011/08/23/2150321.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值