1

我今年和明年有两个文件,链接按钮必须指向不同的文件,具体取决于年份。但问题是我们想在新窗口中打开文件。所以我决定从服务器端调用javascript

asp的代码:链接按钮

<asp:LinkButton ID="guide" runat="server" Text="XXX" OnClick="guide_click">

javascript代码

function Guidelink2013() {
        window.open('XXX1.pdf', '', 'width=750,height=900'); return false;
}
function Guidelink2012() {
         window.open('XXX2.pdf', '', 'width=750,height=900'); return false;
}

后面的代码

    protected void guide_click(object sender, EventArgs e)
    {
        if (Session["YearLastLicence"] != null)
        {
            if (int.Parse(Session["YearLastLicence"].ToString()) < DateTime.Now.Year)
            {
                ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:Guidelink2012();", true);
            }
            else ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:Guidelink2013();", true);

        }
    }

首次打开页面时它工作正常,但如果我刷新页面,弹出窗口也会自动打开。任何想法?谢谢

4

1 回答 1

0

您应该在页面加载中编写代码,而不是在链接按钮的单击事件中编写代码。

所以在页面加载时,

 if (Session["YearLastLicence"] != null)
        {
            if (int.Parse(Session["YearLastLicence"].ToString()) < DateTime.Now.Year)
            {
               guide.Attrbuites.Add("onclick","javascript:Guidelink2012();return false;");
            }
            else {
guide.Attrbuites.Add("onclick" "javascript:Guidelink2013();return false;");

        }
}

您还可以从链接按钮中删除单击事件。

于 2012-06-13T13:27:33.473 回答