C# 如何在ASP.NET中动态创建新的超链接?
我将解释我试图实现的目标: 我希望有一种情况,通过在代码后面的循环中创建控件,可以创建任意多的控件。我可以在使用PHP时通过混合PHP代码和HTML代码来实现这一点。这允许我动态生成实际的HTML标记 在ASP.NET中,我还没有找到复制此功能的方法 我曾考虑在类似Init()函数的代码中使用一个循环来创建一个新()对象数组,设置它们的属性,并希望将其传递到aspx文件中,但没有成功C# 如何在ASP.NET中动态创建新的超链接?,c#,.net,asp.net,visual-studio,hyperlink,C#,.net,Asp.net,Visual Studio,Hyperlink,我将解释我试图实现的目标: 我希望有一种情况,通过在代码后面的循环中创建控件,可以创建任意多的控件。我可以在使用PHP时通过混合PHP代码和HTML代码来实现这一点。这允许我动态生成实际的HTML标记 在ASP.NET中,我还没有找到复制此功能的方法 我曾考虑在类似Init()函数的代码中使用一个循环来创建一个新()对象数组,设置它们的属性,并希望将其传递到aspx文件中,但没有成功 如何做到这一点?请记住,ASP.Net中的超链接和链接按钮是有区别的 如果只需要超链接,可以通过创建超链接对象、
如何做到这一点?请记住,ASP.Net中的超链接和链接按钮是有区别的 如果只需要超链接,可以通过创建超链接对象、创建新对象,然后将它们添加到某些控件的控件集合(如panel或span等)来创建任意数量的超链接 链接按钮有点不同。如果要创建回发到服务器的链接,必须使用中继器控件。(好吧,你不必这么做,但另一种选择是黑客工作。) 超链接也可以通过使用中继器控件创建,如果可能的话,我建议使用这种方法。在asp.net中有很多方法可以做到这一点:
标记将循环直接放入aspx标记中,就像php或经典asp一样。不建议这样做visible
属性设置为false,然后“启用”所需的超链接控件。这比#2更可取,因为asp.net页面生命周期有一些奇怪之处如果您希望动态生成控件&不需要将这些控件发回服务器(即,当单击/更改控件时,它将返回到同一页面)-您可以使用System.Web.UI.HtmlControls命名空间中的控件 e、 g 希望这能给你足够的背景知识
编辑:您可以在循环中使用上述代码,并将固定值替换为来自数据库/对象的值。如果要动态创建ASP.Net超链接控件 您可以简单地执行以下操作:
HyperLink hyp = new HyperLink();
hyp.ID = "hypABD";
hyp.NavigateUrl = "";
Page.Controls.Add(hyp);
通过此代码创建超链接,作为非名称链接,如何为超链接指定文本?
HyperLink hyp = new HyperLink();
hyp.ID = "hypABD";
hyp.NavigateUrl = "";
Page.Controls.Add(hyp);