我正在构建一个可以下载歌曲的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") %>'