![](/img/trans.png)
[英]How can I set a table row color in my repeater based on the values databound to that row in ASP.NET?
[英]Why is the link set wrong in my databound repeater?
我想在我的中繼器上顯示電子郵件鏈接(如果用戶選擇顯示其電子郵件地址),但是我得到的只是寫入實際鏈接的Databinder.Eval(Container.DataItem, "emailaddress")
。 它沒有得到應有的解析...
這是我的標記:
<asp:Repeater runat="server" ID="rptGuestbook" OnItemCommand="rptGuestbook_ItemCommand"
OnItemDataBound="rptGuestbook_ItemDataBound" DataSource="<%# guestbookData %>">
<ItemTemplate>
<div runat="server" id="divPost" class="post">
<div runat="server" id="divAuthor" class="author">
<asp:Panel runat="server" ID="pnlAdmin" CssClass="delete-button" Visible="false">
<asp:Button runat="server" ID="btnDeletePost" CssClass="button" Text="Delete Post"
CommandName="DeletePost" CommandArgument='<%# Eval("postid") %>' />
<asp:Label runat="server" ID="lblShowEmail" Text='<%# Eval("showemail") %>' CssClass="hidden"></asp:Label>
</asp:Panel>
<ul>
<li>#<%# Eval("postid") %></li>
<li><span>Posted By: </span>
<%# Eval("postauthor") %><br />
<li>
<asp:HyperLink runat="server" ID="lnkWeb" ImageUrl="~/Images/webicon.png" NavigateUrl='<%# Eval("webaddress") %>'></asp:HyperLink></li>
<li>
<asp:HyperLink runat="server" ID="lnkEmail" ImageUrl="~/Images/emailicon.png" NavigateUrl='mailto: <%# DataBinder.Eval(Container.DataItem, "emailaddress" %>'></asp:HyperLink></li>
</ul>
</div>
<div runat="server" id="divMessage" class="post-message">
<div class="post-date">
<span>Posted On:</span>
<%# Eval("postdate") %></div>
<%# Eval("postmessage") %></div>
<div class="scroll">
</div>
</div>
</ItemTemplate>
</asp:Repeater>
<asp:HyperLink runat="server" ID="lnkEmail" ImageUrl="~/Images/emailicon.png" NavigateUrl='mailto: <%# DataBinder.Eval(Container.DataItem, "emailaddress" %>'></asp:HyperLink>
這正是我的瀏覽器認為鏈接是...
%20 <%#%20DataBinder.Eval(Container.DataItem,%20“電子郵件地址”%20%>
我檢查了一下,每一行都有一個電子郵件地址,所以我真的不明白為什么會這樣。
誰能幫我修復它?
提前致謝!
嘗試從此更改您的mailto HyperLink:
<asp:HyperLink runat="server"
ID="lnkEmail"
ImageUrl="~/Images/emailicon.png"
NavigateUrl='mailto: <%# DataBinder.Eval(Container.DataItem, "emailaddress" %>'></asp:HyperLink>
對此
<asp:HyperLink runat="server"
ID="lnkEmail"
ImageUrl="~/Images/emailicon.png"
NavigateUrl='<%# "mailto:" + Eval("emailaddress") %>'
Text='<%# Eval("emailaddress") %>'></asp:HyperLink>
如user256103所述,您在DataBinder.Eval中缺少結束括號。 我認為,更大的問題是NavigateUrl的價值。 ASP.NET的數據綁定腳本(<%#%>)允許串聯字符串。 您還需要一個Text值才能使HyperLink服務器控件正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.