预处理程序指令必须显示为一行中的第一个非空白字符

时间:2014-01-14 06:31:32

标签: asp.net

这条线有什么问题:

<asp:HyperLink  ID="linkViewAlbum" NavigateUrl="~/Photos/ViewAlbum.aspx" runat="server" ImageUrl='<%#_webContext.RootUrl %>files/photos/<%#((Folder)Container.DataItem).FullPathToCoverImage %>'></asp:HyperLink> 

它给了我标题中提到的错误。 当我把它与上面完全相同但是在img src中时,它正在工作:

<img src="<%#_webContext.RootUrl %>files/photos/<%#((Folder)Container.DataItem).FullPathToCoverImage %>"  />

请帮助我真的在努力解决这个问题...是否有一个很好的链接来解释这些指令...似乎找不到一个。

1 个答案:

答案 0 :(得分:0)

将ImageUrl切换到以下内容:

ImageUrl='<%#_webContext.RootUrl + "files/photos/" + ((Folder)Container.DataItem).FullPathToCoverImage %>'

<%# Eval() %>是数据绑定表达式,必须对属性进行求值。您不能将它与Eval表达式之外的另一个字符串连接起来。

换句话说,使用ASP.NET控件,每个属性只能使用1 Eval。如果你需要连接它们,那么在单Eval内进行。