Program universal ASP untuk mengimplementasikan menu yang dapat dilipat di halaman web
Bank of China Provinsi Shanxi Cabang Jincheng Cabang Sains dan Teknologi Jinyu
Dengan meningkatnya popularitas Internet/Intranet, pemrograman web dan produksi halaman web telah menjadi tren. Artikel ini memperkenalkan pembaca pada teknologi pemrograman untuk mengimplementasikan menu lipat di halaman web. Saya yakin ini akan menambah banyak warna pada halaman web Anda. Yang disebut menu lipat sebenarnya adalah menu yang ditampilkan secara dinamis, yaitu ketika tidak ada operasi menu yang dilakukan, hanya menu utama yang ditampilkan. Ketika item menu dipilih, submenu bawahannya ditampilkan secara dinamis, dan setelah pemilihan selesai , mereka disembunyikan lagi.
Prinsip implementasi
Anda pasti sudah familiar dengan tag HTML <DIV>. Kita dapat menggunakan atribut display untuk menyembunyikan atau menampilkan konten tag <DIV>. Metode spesifiknya adalah menyembunyikan atau menampilkan ketika tampilan disetel ke none. Jika kita telah menandai semua nama menu (termasuk submenu) dengan <DIV>, kita dapat mewujudkan menu lipat dengan menggunakan bahasa ASP yang dikombinasikan dengan Script untuk secara dinamis mengontrol tampilan atau penyembunyian opsi menu yang sesuai.
Masalahnya sekarang adalah bagaimana menambahkan nama item menu ke program. Tentu saja, Anda dapat menambahkannya langsung ke halaman web, tetapi jika Anda mengubah opsi menu, Anda harus mengubah ulang kode kontrol halaman web ini metode ini jelas tidak cukup bijaksana. Apa yang digunakan artikel ini adalah untuk menyimpan semua nama opsi menu dalam file teks dalam format tertentu. Saat halaman web dimuat, kode ASP secara otomatis membaca isinya perubahan dalam file ini.
Mengenai pengoperasian file, kami menggunakan komponen akses file bawaan ASP untuk menyelesaikannya. Untuk penggunaan khusus, lihat kode program di akhir artikel.
file teks menu
Artikel ini menyetujui bahwa konten file teks menu harus mengikuti aturan berikut: nama yang menjelaskan opsi menu harus memiliki tiga baris konten (lihat contoh di bawah); tidak ada baris kosong yang diperbolehkan dalam file; nama opsi menu, tetapi tombol spasi harus digunakan (tombol spasi) ), tombol Tab tidak dapat digunakan; akhir file dilengkapi dengan dua baris *END*.
Misalkan ada menu tiga tingkat berikut:
perangkat lunak sistem operasi
Perangkat lunak komputer ---- Perangkat lunak sistem aplikasi
Perangkat lunak alat ----- ALAT PC
FTP lucu
Teks menu harus memiliki format berikut:
1------menunjukkan nama menu utama pertama
Perangkat lunak komputer -------- Nama menu (sama di bawah)
3 Jika bukan 0, tentukan jumlah submenu menu ini; dalam contoh ini, adalah 3
1*1 menunjukkan submenu pertama dari menu utama pertama (* harus digunakan)
perangkat lunak sistem operasi
0 http://… --------- Jika 0 berarti item menu tidak memiliki submenu, diikuti dengan URL hyperlink
1*2---------- menunjukkan submenu kedua dari menu utama pertama (sama di bawah)
perangkat lunak sistem aplikasi
0 http://…
1*3
Perangkat lunak alat
2
1*3*1-------- Submenu ke-1 dari submenu ke-3 di menu utama ke-1
ALAT PC
0 http://…
Kode program:
<HTML>
<KEPALA>
<Bahasa SKRIP=VBScript>
'Tampilkan atau sembunyikan submenu
Sub disp_sub_menu(curid)
redup ct,i,tmpid
ct=dokumen.semua(curid).style.ct
saya=1
Sementara saya<=CInt(ct)
tmpid=curid+*+cstr(i)
Jika document.all(tmpid).style.display=none Lalu
dokumen.semua(tmpid).style.display=
Kalau tidak
dokumen.semua(tmpid).style.display=tidak ada
Jika CInt(document.all(tmpid).style.ct)>0 Lalu
Jika document.all(tmpid+*1).style.display= Lalu
disp_sub_menu(tmpid) 'Panggil submenu tingkat bawah secara rekursif
Akhiri Jika
Akhiri Jika
Akhiri Jika
saya=saya+1
Pergi ke
Akhiri Sub
</SCRIPT></HEAD><BODI>
<FONT color=red><H2 align=center>Contoh implementasi menu lipat di halaman web menggunakan ASP</H2></FONT><HR>
<% '----|. Hitung angka * pada id menu|-----
Fungsi spnum(str)
redupkan tmpstr,m,t
tmpstr=str
m=InStr(str,*)
t=0
Sementara m<>0
t=t+1
tmpstr=Tengah(tmpstr,m+1)
m=InStr(tmpstr,*)
Pergi ke
jumlah=t
Fungsi Akhir
'-----|. Kirim opsi menu ke browser |-----
Sub output_line(ct_flag,curid,txtnama,ct,txtwarna)
redupkan ptl,sp,dispval,tspace
sp=spnum(curid)
tampilan=tidak ada
Jika sp=0 Maka dispval=
spasi=
Sedangkan sp>0
tspasi=tspasi+
sp=sp-1
Pergi ke
Jika ct_flag=1 Maka 'Menu level ini memiliki submenu, gunakan hanya <DIV> untuk menandainya
ptl=<div id=+chr(34)+curid+chr(34)+ gaya=
ptl=ptl+chr(34)+warna:+txtwarna+;
ptl=ptl+ ct:+ct+; tinggi garis:25 piksel;
ptl=ptl+ kursor:tangan;
ptl=ptl+ tampilan:+dispval+chr(34)
ptl=ptl+ diklik=+chr(34)+disp_sub_menu('+curid+')+chr(34)
ptl=ptl+>+tspasi+txtnama+</div>+chr(13)
Else 'Menu level ini adalah menu level paling bawah, ditandai dengan <DIV> dan <A>
ptl=<div id=+chr(34)+curid+chr(34)
ptl=ptl+ style=+chr(34)+tampilan:+tampilan+;
ptl=ptl+tinggi garis:25px; warna:+txtwarna+; ct:0+chr(34)+>
ptl=ptl+tspace+<A href=+chr(34)+ct+?txt=+txtname+chr(34)+>+txtname+</A></div>+chr(13)
Akhiri Jika
respon.tulis ptl
Akhiri Sub
'----|. Proses kendali utama|-----
redup curid,namatxt,ct,ct_flag,txtcolor
set fs=buat objek(SCRIPTING.FILESYSTEMOBJECT)
menufile=replace(request.servervariables(path_translated),menu.asp,mfile.txt)
setel txtstr=fs.opentextfile(menufile)
curid=txtstr.readline
Sambil penasaran<>*END*
curid=y+Trim(curid) 'Bentuk id item menu saat ini
txtname=Trim(txtstr.readline) 'Baca nama menu
ct=Trim(txtstr.readline) 'Baca jumlah submenu pada menu ini
ct_flag=1
Jika Pertengahan(ct,1,1)=0 Maka
ct_flag=0
ct=LTrim(Pertengahan(ct,2))
Akhiri Jika
txtwarna=hitam
Pilih kasus spnum (curid)
kasus 1
txtcolor=red 'Warna submenu level 1 a
kasus 2
txtcolor=green 'Warna submenu tingkat kedua
kasus 3
txtcolor=blue 'Warna submenu tiga tingkat, dapat terus ditambahkan
Pilihan Akhir
output_line ct_flag,curid,namatxt,ct,cstr(txtwarna)
curid=txtstr.readline
Pergi ke
txtstr.tutup
%>
<HR></BODY></HTML>
Kode ini lewat di bawah Win98/PWS (Personal Web Server).