1

今年と来年の2つのファイルがあり、リンクボタンは年によって異なるファイルを指す必要があります。しかし、問題は、ファイルを新しいウィンドウで開きたいということです。そこで、サーバー側から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);

        }
    }

最初にページを開いたときは正常に機能しますが、ページを更新すると、ポップアップウィンドウも自動的に開きます。何か案が?ありがとう

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 に答える