2011-10-18 53 views
0

比方說,我有一個代碼中的中繼器:如何添加變量+ databinding到ASP.NET鏈接navigateurl?

<ItemTemplate> 
    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#DataBinder.Eval(Container.DataItem, "FileLeafRef")%>'> 
     <h2><%# DataBinder.Eval(Container.DataItem, "Title")%></h2>  
    </asp:HyperLink>     
</ItemTemplate> 

的FileLeadRef變量只包含頁面名稱,但(像Test.aspx的,而不是我所需要的完整URL)。我可以在page_load中的變量中獲得URL的第一部分,因此我需要執行以下操作:

NavigateUrl='<%myVariable + "/"%><%#DataBinder.Eval(Container.DataItem, "FileLeafRef")%>'但它顯然不起作用,並且嘗試了一些沒有成功的變體。

有什麼建議嗎?

在此先感謝。

回答

1

你可以寫

<%# myVariable + "/" + DataBinder.Eval(Container.DataItem, "FileLeafRef")%> 
+0

隨着我得到的名字「SITEURL」並不在當前情況下存在,所以我必須缺少一些東西。 – user997685

+0

@user:使其成爲課堂中的一個領域。 – SLaks

0

我通常在移動URL構建一個代碼隱藏功能:

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# UrlHelper(myVariable ,DataBinder.Eval(Container.DataItem, "FileLeafRef"))%>'> 

protected string UrlHelper(string prefix, object leaf) 
{ 
    return prefix + "/" + leaf.ToString(); 

}