Как установить атрибут заголовка ASP.NET MVC Html.ActionLink для сгенерированного URL - PullRequest
5 голосов
/ 22 декабря 2010

Я бы хотел, чтобы пользователи могли видеть соответствующий URL для тега привязки, сгенерированного Html.ActionLink (), когда они наводят курсор на ссылку. Это делается путем установки атрибута title, но я застрял, чтобы выяснить, как получить это значение:

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

Как мне указать URL, который будет генерировать ActionLink? Я мог бы жестко закодировать что-то, что, я думаю, но это нарушает DRY .

Ответы [ 3 ]

5 голосов
/ 22 декабря 2010

Вы можете использовать Url.Action () для генерации ссылки или создать собственный вспомогательный метод, подобный этому:

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 )
    }
}

Теперь, в принципе, вам просто нужно вызвать новый ActionLinkHelper следующим образом:

<%= Html.ActionLinkWithTitle(@testrun.Name, "Download", "Trx", 
                 new { path = @testrun.TrxPath }) %>
4 голосов
/ 22 декабря 2010

Можно решить jQuery.

<script type="text/javascript">
    $(function () {
        $(selector).each(function () {
            $(this).attr("title", $(this).attr("href"));
        });
    });
</script>
2 голосов
/ 22 декабря 2010

Метод Url.Action () должен работать

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

Но я не уверен, что есть лучший способ.

...