【问题标题】:asp.net ListView from Linq to show NavigationLinks来自 Linq 的 asp.net ListView 以显示 NavigationLinks
【发布时间】:2012-07-15 05:10:44
【问题描述】:

当用户登录时,我想向他们展示他们当前记录(请求)的列表。我的asp.net是这个-

        <asp:ListView ID="MySavedRequestsListView" runat="server" GroupItemCount="5">
            <LayoutTemplate>
                <table runat="server" id="table1">
                    <tr runat="server" id="groupPlaceholder">
                    </tr>
                </table>
            </LayoutTemplate>
            <GroupTemplate>
                <tr runat="server" id="tableRow">
                    <td runat="server" id="itemPlaceholder" />
                </tr>
            </GroupTemplate>
            <ItemTemplate>
                <tr id="TrUserRequest" runat="server">
                    <td id="TdTitle" runat="server">
                        <asp:Label ID="TitleLabel" runat="server" Text='<%#Eval("title") %>'
                    </td>
                </tr>
            </ItemTemplate>
        </asp:ListView>

后面的代码是:

            var UserRequests =  (from r in context.course_requests
                                where r.requestor_userid == access.username
                                orderby r.course_title
                                select new { r.request_id, 
                                            r.title}).ToList();
            MySavedRequestsListView.DataSource = UserRequests;
            MySavedRequestsListView.DataBind();

我看到了一个很好的课程标题列表,但我想要的是让这些标题导航到另一个页面,使用 request_id 作为参数。如何将 HyperLink 类合并到其中?

【问题讨论】:

    标签: asp.net linq listview hyperlink


    【解决方案1】:

    您可以使用超链接

    <asp:HyperLink NavigateUrl="http://www.site.com/page.aspx?id=<%#Eval("request_id") %>" Text="<%#Eval("title") %>"  runat="server" />
    

    或者一个简单的&lt;a&gt;标签

    <a href="http://www.site.com/page.aspx?id=<%#Eval("request_id") %>"> <%#Eval("title") %> </a> 
    

    【讨论】:

    • 啊,谢谢!有没有办法在后面的代码中定义 NavigateUrl 属性?我已经尝试过 HyperLink,但收到“服务器标签格式不正确”错误。
    • 对不起,我的错,使用这个&lt;asp:HyperLink NavigateUrl='http://www.site.com/page.aspx?id=&lt;%#Eval("request_id") %&gt;' Text='&lt;%#Eval("title") %&gt;' runat="server" /&gt;
    • 是的,我也搞砸了引号。我可以让它在没有错误的情况下运行页面,但如果我这样做了,那么 会在 URL 中逐字出现,而不是实际的 id。像这样 - : HyperLink> 生成一个 URL,如-
    • site.com/page.aspx?id=<%#Container.Title%>" Text="" runat="server" />
    猜你喜欢
    • 2016-03-10
    • 2013-02-04
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多