【发布时间】:2021-09-19 10:19:30
【问题描述】:
我已经寻找解决方案,但缺少某些东西,我不知道它是什么。下面的所有代码都可以正常工作,除了asp:HyperLink 给我一个错误。我只需要一个
每个艺术家的链接列。当前代码确实填充了一个单列表。但我需要每个项目都是一个链接。
代码:
<asp:DataList ID="DataListArtists" runat="server" DataSourceID="SqlDataSourceArtists">
<ItemTemplate>
<table class="table">
<tr>
<th colspan="2">
<b>
<%# Eval("Artist") %></b>
</th>
</tr>
</table>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Artist.aspx") %>' Text='<%# Eval("Artist") %>' />
</asp:HyperLink>
</ItemTemplate>
</asp:DataList>
错误:
DataBinding: 'System.String' does not contain a property with the name 'aspx'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it
originated in the code.
Exception Details: System.Web.HttpException: DataBinding: 'System.String' does not contain a property with the name 'aspx'.
Source Error:
Line 82: </tr>
Line 83: </table>
Line 84: <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Artist.aspx") %>' Text='<%# Eval("Artist") %>' />
Line 85: </ItemTemplate>
堆栈跟踪:
[HttpException (0x80004005): DataBinding: 'System.String' does not contain a property with the name 'aspx'.]
System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName) +8764405
System.Web.UI.DataBinder.Eval(Object container, String[] expressionParts) +92
System.Web.UI.DataBinder.Eval(Object container, String expression) +106
System.Web.UI.TemplateControl.Eval(String expression) +40
ASP.artists_aspx.__DataBinding__control7(Object sender, EventArgs e) in c:\Users\lookerup\Desktop\mystuff\programming\apps\FlatbushMusic\FlatbushMusic\Artists.aspx:84
System.Web.UI.Control.OnDataBinding(EventArgs e) +99
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +92
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +211
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102
System.Web.UI.Control.DataBind() +15
System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) +125
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +459
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +54
System.Web.UI.WebControls.BaseDataList.DataBind() +55
System.Web.UI.WebControls.BaseDataList.EnsureDataBound() +60
System.Web.UI.WebControls.BaseDataList.CreateChildControls() +69
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +44
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
【问题讨论】:
-
artist.aspx 是您的数据集或应用程序网页中的任何结果集吗?如果是网页,那么您真的需要为此使用 Eval 吗?
-
是的,艺术家,aspx 列出艺术家和专辑。aspx 将列出艺术家及其专辑。我不确定Eval。我用了一个我找到的例子。
标签: c# asp.net hyperlink datalist