Named Anchors digunakan untuk menghasilkan link ke lokasi tertentu dalam dokumen web. Kecuali Anda berhati-hati, Anda mungkin memiliki sedikit kesulitan untuk mendapatkan ini dapat berjalan menggunakan pembantu MVC LinkExtension. Named Anchors memerlukan penggunaan nama atribut dalam elemen <a href>. Jika Anda melihat kode sumber dari setiap halaman di situsyang b erisi sebuah artikel dengan komentar, Anda dapat melihat bahwa bagian Komentar didahului oleh salah satu dari ini:
<a href="#" name="comments"></a><h2>Comments</h2>
Anda juga dapat melihat (di mana ada sejumlah komentar) yang masing-masing adalah "bookmarked" dengan Named Anchors yang unik nya:
<a href="#" name="commentId1033"></a><div class="comment">...<a href="#" name="commentId1034"></a><div class="comment">...<a href="#" name="commentId1035"></a><div class="comment">...
Untuk mendapatkan ini berjalan lancar, sehingga browser membawa pengguna ke posisi dalam dokumen didefinisikan oleh anchor , URL harus ditambahkan dengan # <anchor-name> , di mana <anchor-name> sesuai dengan atribut nama dalam link .
Contoh :
http://www.jaringanhosting.com/Article/123/contohnamahalaman.asax # commentId1031
http://www.jaringanhosting.com/Article/36/contohnamahalaman # comments
Jika Anda mencoba untuk menghasilkan jenis URL dinamis dengan menggabungkan ID item dengan string , Anda mungkin menemukan bahwa URL yang dihasilkan mengandung 23 % di mana Anda haapkan hash atau tanda pound ( # ). Ia mendapat urlencoded . Dan link tidak bekerja seperti yang diharapkan .
Baik ActionLink dan ekstensi pembantu RouteLink mengandung kelebihan untuk mengatasi masalah ini , tapi hanya melihat daftar pilihan saat ini yang berlebihan tidak selalu membuat ini jelas . Setelah Anda memahami bahwa spesifikasi HTML resmi mengacu pada bagian dari URL setelah # sebagai fragmen identifier , itu harus menjadi lebih jelas bahwa kelebihan dibutuhkan adalah yang satu ini ( untuk RouteLink ) :
Metode LinkExtensions RouteLink ( HtmlHelper , String , String , String , String , String , Object , Object )
Argumen String kelima mengambil " fragmen " , atau bagian setelah tanda # .Komentar Terbaru panel ( di bagian kanan atas halaman Home ) menggunakan kelebihan ini untuk menghasilkan linkback nama komentar penyedia :
<%= Html.RouteLink(item.CommentName, // Link Text"Show", // Route Namenull, // Protocolnull, // Host Name"commentId" + item.CommentID, // Fragmentnew { // Route Valuescontroller = "Article",action = "Show",id = item.Articles.ArticleID,title = item.Articles.Headline.ToCleanUrl()},null // HTML Attributes) %>
0 comments:
Post a Comment