我在 aspx 页面上写的是
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="~/Comp/Default.aspx?abc=71&xyz=<%# DataBinder.Eval(Container.DataItem,"TeamId") %>"
>
希望在结果标记中创建一个超链接,但它在解析时出错。
我尝试了所有可能的引号和尖括号组合,没有任何帮助。
/>
最后不见了""
)问题String.Format
改用<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("~/Comp/Default.aspx?abc={0}&xyz={1}", Eval("id"), Eval("TeamId")) %>'
/>
虽然上述方法有效,但通过 .NET 4.5 中的新模型绑定功能,您还可以使用Item.
绑定。
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("~/Comp/Default.aspx?abc={0}&xyz={1}", Item.id, Item.TeamId) %>'
/>
(当然只要你不混淆引号)