Asp.net 嵌套内联运算符<;%给出一个新行错误

Asp.net 嵌套内联运算符<;%给出一个新行错误,asp.net,Asp.net,我的aspx中有以下代码行 <ItemTemplate> <a href="<%= Page.ResolveUrl("~/BusinessHandlers/FileDownLoad.ashx?FileName=<%#Eval("FileName") %>") %>">My text</a> </ItemTemplate> 现在,当我加载页面时,我得到 编译器错误消息:CS101

我的aspx中有以下代码行

<ItemTemplate>                
    <a href="<%= Page.ResolveUrl("~/BusinessHandlers/FileDownLoad.ashx?FileName=<%#Eval("FileName") %>") %>">My text</a> 
</ItemTemplate>

现在,当我加载页面时,我得到 编译器错误消息:CS1010:常量中的换行符

这段代码允许我开始编译,并且我能够运行。页面显示了上述异常。
如果我在那里用静态值替换
,它可以正常工作。猜猜为什么会这样?嵌套
有什么问题吗好的,我假设您在
GridView
Repeater
控件中,并且希望正确计算文件的Url。如果已包含在这些运算符中,则不应包含另一个
。并将
=
替换为
#
,以便将数据正确绑定到锚元素。下面的代码应该适合你

<ItemTemplate>
    <a href="<%# Page.ResolveUrl(string.Format("~/BusinessHandlers/FileDownLoad.ashx?FileName={0}", Eval("FileName"))) %>">My text</a>
</ItemTemplate>


谢谢您的回复。但它不起作用。获取错误使表达式术语“)”无效。Page.ResolveUrl后面有一个“$”。是否需要它?这也给了我一个错误。是的,它在网格中。这是因为您没有使用C#6或更高版本。更新了答案。很乐意帮助!:)