我正在开发一个asp.net页面,我需要在超链接的href中添加一个可选参数。参数值在代码隐藏中。
这是超链接:
<a href='FileView.aspx?fid=<%#Eval("FileOrFolderID") %>&uid=<%=UserID %> <%=(ProfileType.HasValue && ProfileId.HasValue?"&profiletype=" + (int)ProfileType.Value + "&profileid=" + ProfileId.Value:"") %>'
<%#Convert.ToBoolean(Eval("IsFolder")) ? "style='display:none;'" : "style='display:block;'" %>
id="aDownLoad">
<%# Eval("Name").ToString().HE()%></a>
我想补充一点:
<%=(Convert.ToBoolean(Eval("IsFolder")) ? "" : "&id=" + CurrentID) %>
所以它看起来像这样:
<a href='FileView.aspx?fid=<%#Eval("FileOrFolderID") %>&uid=<%=UserID %> <%=(Convert.ToBoolean(Eval("IsFolder")) ? "" : "&id=" + CurrentID) %> <%=(ProfileType.HasValue && ProfileId.HasValue?"&profiletype=" + (int)ProfileType.Value + "&profileid=" + ProfileId.Value:"") %>'
<%#Convert.ToBoolean(Eval("IsFolder")) ? "style='display:none;'" : "style='display:block;'" %>
id="aDownLoad">
<%# Eval("Name").ToString().HE()%></a>
但是给出了这个错误:
An exception of type 'System.InvalidOperationException' occurred in System.Web.dll but was not handled in user code
Additional information: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
请建议解决此问题
答案 0 :(得分:0)
只有在您的控件绑定到数据源时才能使用Eval和Bind,这似乎并非如此。 使用服务器控件:
<asp:HyperLink runat="server" ID="link" />
并在后面的代码上设置它的NavigationUrl属性。