我會解釋我想達到什麼樣的效果:如何在ASP.NET中動態創建新的超鏈接?
我想要一個能夠創建儘可能多的控件的情況,只需在後面的代碼中創建一個循環。通過混合PHP代碼和HTML代碼,我可以在使用PHP時做到這一點。這使我可以動態生成實際的HTML標籤。
在ASP.NET中,我還沒有找到一種方法來複制此功能。我想過在Init()函數之類的代碼中使用循環來創建new()對象的數組,並設置它們的屬性並希望它傳遞到aspx文件,但它沒有沒有工作。
我該怎麼做?
我會解釋我想達到什麼樣的效果:如何在ASP.NET中動態創建新的超鏈接?
我想要一個能夠創建儘可能多的控件的情況,只需在後面的代碼中創建一個循環。通過混合PHP代碼和HTML代碼,我可以在使用PHP時做到這一點。這使我可以動態生成實際的HTML標籤。
在ASP.NET中,我還沒有找到一種方法來複制此功能。我想過在Init()函數之類的代碼中使用循環來創建new()對象的數組,並設置它們的屬性並希望它傳遞到aspx文件,但它沒有沒有工作。
我該怎麼做?
如果你想創造動態ASP.Net超鏈接控制 你可以簡單地這樣做:
HyperLink hyp = new HyperLink();
hyp.ID = "hypABD";
hyp.NavigateUrl = "";
Page.Controls.Add(hyp);
嗯,記住有一個在ASP.Net超鏈接和了LinkButton之間的差異
如果你只是想超鏈接,你可以通過創建一個超鏈接對象,創建新的對象,然後將創建只要你想盡可能多的他們到一些控制的控制集合,如面板或跨度或其他東西。
LinkButtons有點不同。如果要創建回發到服務器的鏈接,則必須使用Repeater控件。 (好吧,你不需要,但替代方案是一個黑客工作。)
超鏈接也可以通過使用Repeater控件創建,如果可能的話,我會推薦的方法。
有很多方法在asp.net做到這一點:
<% %>
標籤進入ASPX標記,就像PHP或放環經典的asp。推薦使用而不是。visible
屬性設置爲false,並「啓用」您需要的。由於asp.net頁面生命週期存在一些不合理之處,所以這是首選#2。如果你想生成控件動態&並不需要有那些回發到服務器(即在單擊控件時/改變,它會回到同一頁) - 您可以使用控件System.Web.UI.HtmlControls命名空間。
例如
HtmlAnchor link = new HtmlAnchor();
link.href = "www.stackoverflow.com";
Page.Controls.Add(link);
希望這給你足夠的背景。
編輯:你可以在循環中使用上面的代碼&用來自數據庫/對象的內容替換固定值。