Динамически генерировать гиперссылку из 2 столбцов в GridView - PullRequest
3 голосов
/ 18 октября 2011

Я надеюсь, что смогу объяснить это ясно:

У меня есть GridView, который отображает только поле ID и имени из EntityDataSource.

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

Однако навигатор для этих гиперссылок может быть получен только путем объединения двух других полей (которыене отображается), соответствующий идентификатору.

Предположим, что мой источник данных имел следующие данные:

[ID] [Name] [Path] [FileName]
 1    ABC    path1  file1
 2    XYZ    path2  file2

Я хочу увидеть следующее представление сетки с гиперссылкой, построенной как:

|ID | NAME | Hyperlink      |             
----------------------------|                
 1  | ABC  | path1/file1.pdf|
 2  | XYZ  | path2/file2.pdf|

Как мне создать гиперссылку из 2-х столбцов?


Я занимаюсь приложением веб-формы ASP.NET, классы сущностей обратного проектирования из базы данных.Однако я добавил свойство только для чтения в частичный класс.Но я не могу получить к нему доступ.Вот что я добавил в свой класс Entities

public partial class MyEntity 
{ 
   public string FilePath 
   { 
      get { return string.Format("{0}/"{1}.pdf", this.FileName, this.FilePath); } 
   } 
} 

Нужно ли добавлять какой-либо код в другом месте для доступа к этому свойству только для чтения?

Ответы [ 2 ]

4 голосов
/ 18 октября 2011

используйте что-то подобное в коде:

protected string GetLink(object oPath, object oFileName) {
    return string.Format("~/{0}/{1}.pdf", oPath.ToString(), oFileName.ToString());
}

и на странице aspx в столбце gridview используйте:

<asp:TemplateField><ItemTemplate>
    <asp:HyperLink ID="h1" runat="server" NavigateUrl='<% GetLink(Eval("Path"), Eval("FileName")) %>'>Download!</asp:HyperLink>
</ItemTemplate></asp:TemplateField>
3 голосов
/ 24 октября 2011

Если вы хотите больше гибкости, чем предлагал Ахмад Молай, вы можете попробовать эту статью: http://www.tomot.de/en-us/article/7/asp.net/gridview-overview-of-different-ways-to-bind-data-to-columns

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...