今年和明年我有两个文件,linkbutton必须指向不同的文件取决于年份。但问题是我们想在新窗口中打开文件。所以我决定从服务器端调用javascript
asp:linkbutton的代码
<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);
}
}
首次打开页面时效果很好,但如果我刷新页面,弹出窗口也会自动打开。任何的想法?感谢
答案 0 :(得分: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;");
}
}
您还可以从“链接”按钮中删除点击事件。