我正在尝试实现一个应用程序,该应用程序将动态创建一个列表,该列表旁边的每个项目都有一个按钮。我部分能够使用aspx页面中的Panel控件并在后面的代码中动态添加html。我在动态添加LinkButton时遇到问题,这将根据它的ID来完成数据库工作。这有可能与我所拥有的一样吗?:
ASPX:
<asp:Panel ID="ItemPanel" runat="server">
</asp:Panel>
代码背后的代码:
...
StringBuilder sb = new StringBuilder();
string UserID;
while (dr.Read())
{
UserID = Convert.ToInt32(dr["UserID"]);
sb.Append("<div><b class='template'></b>");
//Create LinkButton with event and code behind function
}
ItemPanel.Controls.Add(new LiteralControl(sb.ToString()));
答案 0 :(得分:1)
您可能需要查看this very recent question,如果您有其他疑问,请修改您的问题。
编辑(在OP的评论之后)
发布该链接的目的是让您了解如何动态创建控件。既然你问,这是一个简单的简单ASPX页面,它创建一个LinkButton并为Click
事件附加一个事件处理程序。但不确定“处理服务器上的更改”是什么意思。
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
LinkButton lnk1 = new LinkButton();
lnk1.Text = "Click me!";
//lnk1.PostBackUrl = "SomeOtherPage.aspx";
// Use the eventhandler to perform redirection,
// instead of the PostBackUrl to show it works.
lnk1.Click += new EventHandler(lnk1_Click);
// Add control to container:
pnl1.Controls.Add(lnk1);
}
void lnk1_Click(object sender, EventArgs e)
{
Response.Redirect("SomeOtherPage.aspx");
}
</script>
<html>
<head>
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Panel ID="pnl1" runat="server">
</asp:Panel>
</form>
</body>
</html>