一个控件中的多个 Eval 语句

发布于 2024-11-27 13:22:02 字数 915 浏览 1 评论 0原文

是否可以有多个<%# Eval("something")%>一个控件中的语句,如果是这样,我做错了什么?

我正在尝试将超链接添加到数据列表,其中导航网址和文本是从我用作数据源的数据表中检索的。

这就是我制作数据表的方式,

foreach (Google.GData.Calendar.EventEntry ev in calFeed.Entries)
        {
            ExtensionCollection<When> v = ev.Times;
            DataRow Title = dt.NewRow();
            DataRow url = dt.NewRow();

            Title["title"] = ev.Title.Text;
            url["url"] = ev.Content.Content;
            dt.Rows.Add(Title);
            dt.Rows.Add(url);
            dt.AcceptChanges();
        }

这就是我的 html

<asp:DataList ID="DataList1" runat="server">
    <ItemTemplate>
        <asp:HyperLink NavigateUrl='<%# Eval("url")%>' runat="server" Text=<%# Eval("title")%> />
    </ItemTemplate>
</asp:DataList>

,如果我在显示的两个字段中评估标题,但如果我选择两个不同的标题和网址,则仅评估一个,另一个留空。

Is it possible to have several <%# Eval("something")%> statements in one control, and if so, what am i doing wrong?

i'm trying to add hyperlinks to a datalist, where the navigateurl and text are retrived from a datatable i use use as datasource.

this is how i make my datatable

foreach (Google.GData.Calendar.EventEntry ev in calFeed.Entries)
        {
            ExtensionCollection<When> v = ev.Times;
            DataRow Title = dt.NewRow();
            DataRow url = dt.NewRow();

            Title["title"] = ev.Title.Text;
            url["url"] = ev.Content.Content;
            dt.Rows.Add(Title);
            dt.Rows.Add(url);
            dt.AcceptChanges();
        }

this is my html

<asp:DataList ID="DataList1" runat="server">
    <ItemTemplate>
        <asp:HyperLink NavigateUrl='<%# Eval("url")%>' runat="server" Text=<%# Eval("title")%> />
    </ItemTemplate>
</asp:DataList>

now if i eval title in both fields they are shown, but if i chose two different like title and url, only one is evaluated, and the other is left blank.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初懵 2024-12-04 13:22:02

您正在代码中创建两行。在代码中仅创建一行,然后添加它:

foreach (Google.GData.Calendar.EventEntry ev in calFeed.Entries)
        {
            ExtensionCollection<When> v = ev.Times;
            DataRow dr = dt.NewRow();

            dr["title"] = ev.Title.Text;
            dr["url"] = ev.Content.Content;
            dt.Rows.Add(dr);
            dt.AcceptChanges();
        }

You are creating two rows, in your code. Create just one row in your code and then add it:

foreach (Google.GData.Calendar.EventEntry ev in calFeed.Entries)
        {
            ExtensionCollection<When> v = ev.Times;
            DataRow dr = dt.NewRow();

            dr["title"] = ev.Title.Text;
            dr["url"] = ev.Content.Content;
            dt.Rows.Add(dr);
            dt.AcceptChanges();
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文