如何添加HTML元素动态(ASP.NET)
我创造了LinkButton动态:如何添加HTML元素动态(ASP.NET)
Lnk1
Lnk2
..
我想动态,但文本(或任何HTML元素),例如:
Lnk1
Seperator
Lnk2
Sepeperator
这是我的代码:
for (int i=0;i<10;i++)
{
form1.Controls.Add(lnks[i]);
Response.Write("Seperator<br>");
}
但在输出我得到如下图:
请让我知道如何给一个LinkButton的正是后添加一个文本。
看看这种方法。你在正确的轨道上,但你需要考虑表单本身。表单有一个名为Controls的集合属性。如果您在for循环中实例化控件,则可以有效地按顺序添加每个控件。首先,创建你的LinkButton实例并分配它的属性。然后,创建您想要使用的任何类型的分隔符控件。我在这个例子中使用了一个HtmlGenericControl,它允许我们分配一个文本属性(Separator)。注意我开始我的循环,而不是零来匹配你的例子...希望这有助于。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 1; i < 11; i++)
{
LinkButton linkButton = new LinkButton();
linkButton.Text = "Lnk" + i;
linkButton.Click += linkButton_Click;
form1.Controls.Add(linkButton);
HtmlGenericControl p = new HtmlGenericControl("p");
p.InnerText = "Separator";
form1.Controls.Add(p);
}
}
void linkButton_Click(object sender, EventArgs e)
{
Response.Redirect("http://www.*.com");
}
}
尝试使用此作为参考。它在我过去的项目中的工作代码。
for (int i = 0; i <= rows - 1; i++)
{
HyperLink MyLink = new HyperLink();
//Set the Hyperlink Text and ID properties.
MyLink.Text = "YOUR TEXT";
MyLink.ID = "Link Id";
// Add a spacer in the form of an HTML <br /> element.
Panel1.Controls.Add(new LiteralControl("<br />"));
Panel1.Controls.Add(MyLink);
}
否你的代码不起作用。还有任何标签(文字控制)出现在LinkButton之前。所以他们不按顺序出现。 – 2015-02-06 14:35:33
好的,我找到了原因。我将LinkButton的位置设置为绝对。同样使用LiteralControl在这里真的很有用。 如果您添加评论我会upvote你并会接受你的答案,因为比较你的代码,我的帮助我找到原因。 – 2015-02-06 14:55:16
也请从您的答案中删除不需要的信息:例如'MyLink.ID = admission.Rows [i] [0] .ToString(); username = admission.Rows [i] [3] .ToString(); string Refno = HttpUtility.UrlEncode(Encrypt(admission.Rows [i] [0] .ToString()));' – 2015-02-06 14:57:51
好的信息+1。我吊销了你接受的答案。由于HtmlGenericControl似乎适合我的需求。 我需要添加标签并更改其样式。 Literalcontrol对象没有样式属性。 – 2015-02-06 15:10:12
为了公平地回答下面的问题是有帮助的,应该投票表决。所以请投票吧。它不让我赞成。 – 2015-02-06 15:11:04
@SNash。我听到你。我没有投下其他答案。 (我个人没有真正意识到这一点,大多数人都在努力提供帮助,而不是过分关注声誉点)。我确实继续前进并投票,因为您发现它有帮助。 – williamdnapier 2015-02-06 16:27:05