动态创建ASP.net使用Panel提交LinkBut​​ton

时间:2009-05-19 06:51:56

标签: c# asp.net

我正在尝试实现一个应用程序,该应用程序将动态创建一个列表,该列表旁边的每个项目都有一个按钮。我部分能够使用aspx页面中的Panel控件并在后面的代码中动态添加html。我在动态添加LinkBut​​ton时遇到问题,这将根据它的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()));

1 个答案:

答案 0 :(得分:1)

您可能需要查看this very recent question,如果您有其他疑问,请修改您的问题。

编辑(在OP的评论之后)


发布该链接的目的是让您了解如何动态创建控件。既然你问,这是一个简单的简单ASPX页面,它创建一个LinkBut​​ton并为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>