Wednesday 9 April 2014

ASP.NET MVC Hosting - JaringanHosting.com :: Named Anchors dan URL MVC

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 Name
null, // Protocol
null, // Host Name
"commentId" + item.CommentID, // Fragment
new { // Route Values
controller = "Article",
action = "Show",
id = item.Articles.ArticleID,
title = item.Articles.Headline.ToCleanUrl()
},
null // HTML Attributes
) %>

0 comments:

Post a Comment