如何动态设置DataNavigateUrlFormatString?或如何评估网页上的Page.User.Identit



我正在构建一个可以下载歌曲的GridView。因此,我使用超链接文件并使用DateNavigateUrlFormatString

例如

    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> 

DataNavigateUrlFormatString希望占位符来自控件数据源中的字段。

我的建议是,既然你已经知道你试图构建的url,你可以设置超链接控件的NavigateUrl属性。

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

最新更新