2010-12-21 23 views
5

Kullanıcıların, üzerine geldiklerinde Html.ActionLink() tarafından oluşturulan bir bağlantı etiketi için ilgili URL'yi görebilmelerini isterim Bağlantı.Oluşturulan URL'ye ASP.NET MVC Html.ActionLink öğesinin başlık özniteliğini nasıl ayarlarsınız

@Html.ActionLink(@testrun.Name, "Download", "Trx", 
       new { path = @testrun.TrxPath }, new { title = ??) 

nasıl ActionLink oluşturmak için gidiyor URL'yi belirtebilirsiniz: Bu başlık özelliklerini ayarlayarak ama bu değeri almak için nasıl nerede takıldım bulmaktan yapılır? Tahmin ettiğim bir şeyi kodlayabilirim ama bu DRY'u ihlal ediyor.

cevap

5

Sen Linki oluşturmak için Url.Action() kullanabilir veya böyle bir Özel Yardımcısı Yöntem oluşturma olabilir:

public static class HtmlHelpers { 
    public static MvcHtmlString ActionLinkWithTitle(this HtmlHelper helper, 
                string linkText, 
                string actionName, 
                object routeValues) { 
     return helper.ActionLink(linkText, actionName, routeValues, 
       new {title = Url.Action(linkText, actionName, routevalues) 
    } 
} 

Şimdi temelde sadece bu

gibi yeni ActionLinkHelper çağırmak için ihtiyacınız olacağından
<%= Html.ActionLinkWithTitle(@testrun.Name, "Download", "Trx", 
       new { path = @testrun.TrxPath }) %> 
2

Url.Action() yöntem

@Html.ActionLink(@testrun.Name, "Download", "Trx", 
      new { path = @testrun.TrxPath }, new { title = Url.Action("Download", "Trx") }) 

çalışması gerekir Ama daha iyi bir yol varsa emin değilim.

+0

Ama KURU tatmin etmiyor - Bunu 'yeni yapmanız gerekir {title = Url.Action ("İndir", "Trx")}' her bağlantı için. –

4

jQuery'yi çözmek mümkündür.

<script type="text/javascript"> 
    $(function() { 
     $(selector).each(function() { 
      $(this).attr("title", $(this).attr("href")); 
     }); 
    }); 
</script>