我会解释我想达到什么样的效果:如何在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);
希望这给你足够的背景。
编辑:你可以在循环中使用上面的代码&用来自数据库/对象的内容替换固定值。