Cara membuka dokumen di jendela terpisah dari peta situs

Saya berharap untuk membuka dokumen di kontrol menu menggunakan peta situs. Saya menggunakan kode berikut di peta situs tetapi mendapatkan kesalahan. Saya ingin dapat mengklik item menu, membuka dokumen sampel di jendela baru, tetapi halaman asli tidak menavigasi ke tempat baru (pada dasarnya tidak melakukan apa pun di halaman utama.)

<siteMapNode url="javascript:window.open('Sample.doc','SampleName'); return false" title="FAQs"  description="FAQs" />

Ada ide? Apakah ada javascript yang dapat saya gunakan yang tidak mengharuskan saya mendaftarkan fungsi di setiap halaman?


person Sean    schedule 06.05.2010    source sumber


Jawaban (6)


Saya akhirnya menggunakan yang berikut ini:

<siteMapNode url="javascript:window.open('Sample.doc','SampleName'); void(0);" title="FAQs"  description="FAQs" />
person Sean    schedule 06.05.2010

Jika Anda menangani kejadian OnMenuItemDataBound pada kontrol Menu ASP.NET, Anda dapat mengatur atribut target pada item di sana:

MyMenu.MenuItemDataBound += OnMenuItemDataBound

private void OnMenuItemDataBound(object sender, MenuEventArgs e)
{
    // Sets all menu items to open in new windows
    e.Item.Target = "_blank";

    // Uses a 'target' attribute in the XML sitemap if set:
    string targetAttributeValue = ((SiteMapNode)e.Item.DataItem)["target"];
    if (targetAttributeValue != null) {
        e.Item.Target = targetAttributeValue;
    }
}
person Tevin    schedule 07.04.2014

javascript:widow.open

Apakah kamu yakin yang kamu maksud bukan window.open?
Menurutku naskahmu tidak banyak berhubungan dengan janda ;)

person Sune Rasmussen    schedule 06.05.2010
comment
Hah! Maksudku window.open. Saya telah memperbarui pertanyaan saya (itu bukan masalah saya.) Saya telah mencoba banyak hal sehingga saya menjadi ceroboh... terima kasih. - person Sean; 06.05.2010

Anda perlu mencari tahu kontrol mana yang menggunakan file peta situs dan kemudian menangkap peristiwa yang dihasilkan dari kontrol tersebut.

person azamsharp    schedule 06.05.2010

Mengapa tidak menggunakan atribut target saja?

<siteMapNode url="Sample.doc" target="_blank" title="FAQs"  description="FAQs" />
person Stephen    schedule 17.08.2012
comment
Atribut target tidak diterapkan ke tag tautan yang dihasilkan oleh kontrol menu - person Tevin; 07.04.2014
comment
Pilih ini karena saya menanyakan hal yang sama. Jadi pertanyaannya berguna meskipun hanya untuk mengabaikan solusi. - person John Deverall; 10.11.2014

target="_blank" di halaman sumber hilang saat halaman dirender untuk saya. Saya harus melakukannya dengan kode di belakang seperti ini:

private void Menu1_PreRender(object sender, EventArgs e)
{
    if (!IsPostBack) {
        MenuItem FAQsItem = new MenuItem("FAQs");
        FAQsItem.NavigateUrl = "~/Sample.doc"; //You'll need to figure out your correct URL
        FAQsItem.Target = "_blank";
        Menu1.Items.Add(FAQsItem);
    }
}

Catatan: Saya menambahkan ini ke PreRender Menu karena saya hanya ingin menambahkannya ke akhir MenuItem lain yang ada di halaman sumber dan tidak memerlukan target="_blank".

person Tony L.    schedule 04.03.2016