私の質問はかなり単純です。これは私がaspxページに持っているものです:
<ul>
<asp:Repeater runat="server" ID="linksList" OnItemDataBound="linksList_OnItemDataBound" >
<ItemTemplate>
<li><asp:HyperLink runat="server" ID="link" /></li>
</ItemTemplate>
</asp:Repeater>
</ul>
SQL サーバーからリストへのハイパーリンクのリストを取得しようとしています。これは私がコードビハインドに持っているものです:
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = Utilities.RunSelectQuery("SELECT *");
DataTable dt = ds.Tables[0];
linksList.DataSource = dt;
linksList.DataBind();
}
データが にバインドされた後にNavigateUrl
とText
プロパティを変更するにはどうすればよいですか? コード ビハインドでこれを実行したいのですが、aspx ページを使用して実行すれば動作させることができますが、それは ASP.NET のすべてに反するものです。asp:HyperLink
Repeater
<%# Eval("URL") %>
編集:これは、wompのおかげで私にとってうまくいった解決策です:
protected void linksList_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView row = (DataRowView)e.Item.DataItem;
HyperLink link = (HyperLink)e.Item.FindControl("link");
link.Text = row["description"].ToString();
link.NavigateUrl = row["URL"].ToString();
}
}