добавление URL в столбец html.grid - PullRequest
1 голос
/ 26 октября 2011
!{Html.Grid(Model.Results)
        .Columns(column =>
        {
          column.For(x => x.Title).Named("Article Name");
          column.For(x => x.Sites);
          column.For(x => x.PreviousPath).Named("Previous Path");
          column.For(x => x.CurrentPath).Named("Current Path");
          column.For(x => x.PreviousUrl).Named("Previous Url");
          column.For(x => x.CurrentUrl).Named("Current Url");
          column.For(x => x.LogDate).Named("Date");
        }
)
  .Empty("There are no R301s.")
}

В приведенной выше сетке у меня есть CurrentUrl.Этот URL-адрес указывает на веб-сайт.Мне нужно сделать текущий URL гиперссылкой на тот же URL.

На добавленной мной странице

use namespace="MvcContrib.UI.Grid.ActionSyntax"

Существует синтаксис действия для добавления гиперссылки.Я думаю, что код будет выглядеть примерно как

column.добавить гиперссылку на столбец выше.

1 Ответ

3 голосов
/ 09 декабря 2011

Если вы не хотите использовать ActionSyntax, вы можете независимо создавать Html.ActionLink, если вы знаете, какие значения поступают для вашего href.

Если href - это фактический URL (http://www.example.com), стандартный HTML работает сSpark:

column.For(c => 
           string.Format("<a href='{0}'>{1}</a>", x.Grade, "Previous Url"))
                 .Named("Column Header")
                 .DoNotEncode();

Если вы создаете свой URL на основе заданного имени действия и идентификатора (например, при перенаправлении на страницу редактирования):

column.For(c => 
           Html.ActionLink("Previous Url", 
                           "Action_Method_Name", 
                           new { controller = "DifferentController", //optional
                                 id = c.YourIdColumnIfRequired  //optional
                               }) 
               .Named("Column Header")
               .DoNotEncode();
...