Как динамически установить DataNavigateUrlFormatString? или Как оценить Page.User.Identity.Name на веб-странице? - PullRequest
1 голос
/ 31 марта 2012

Я создаю GridView, который может загружать песни.Поэтому я использую гиперссылку fileld и использую DateNavigateUrlFormatString .

EG

    DataNavigateUrlFormatString="~/uploads/{0}"

Теперь

Мне нужно объединить Page.User.Identity.Name в DateNavigateUrlFormatString

Например,

    DataNavigateUrlFormatString="~/uploads/UserName/{0}" which  Page.User.Identity.Name depending on the user login. 

Я пытался получить доступ к DataNavigateUrlFormatString из кода позади, но не смог.Я пытался использовать Eval, такой как

      '~/uploads/" <%# Eval("Page.User.Identity.Name") %> /{0}'

, это тоже не работает.

Надеюсь, кто-то может указать мне.

Спасибо,

L

Финальный раствор

     <asp:TemplateField HeaderText="Play">
              <ItemTemplate> 
                    <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl = '<%#    String.Format("~/UserUploads/{0}/",Page.User.Identity.Name)+ "/" + Eval("Song_Name")  %>' Text="Play" >
                    </asp:HyperLink>

                </ItemTemplate> 
            </asp:TemplateField> 

1 Ответ

0 голосов
/ 31 марта 2012

DataNavigateUrlFormatString ожидает, что заполнители будут приходить из полей в источнике данных элемента управления.

Мое предложение состоит в том, что, поскольку вы уже знаете URL-адрес, который пытаетесь создать, вы можете установить свойство гиперссылки NavigateUrlконтроль.

NavigateUrl =  '<%# String.Format("~/UserUploads/{0}/",Page.User.Identity.Name)+ "/" + Eval("Song_Name") %>'
...