2009-05-19 54 views
1

我想实现,这将动态地创建与每个项目旁边的那个名单上的按钮列表中的应用程序提交的LinkBut​​ton。我部分能够做到这一点使用aspx页面的面板控制,并在代码中动态添加HTML后面。我有添加LinkBut​​ton的动态,这将基于它是ID做数据库工作中的问题。这甚至可能与我有什么?:动态创建ASP.net使用面板

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

你可能想看看this very recent question,如果您还有其他疑问,然后编辑你的问题。

编辑(后OP的评论)


发布该链接的目的是为了给你一个想法如何动态创建控件。既然你问了,这里是一个创建一个LinkBut​​ton并附加了Click事件的事件处理程序的简单裸机ASPX页面。不过,不清楚“处理服务器上的更改”是什么意思。

<%@ 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> 
+0

这是一个不同的问题或更加先进。我要求帮助创建一个LinkBut​​ton也创造背后onclick事件的代码以及处理在服务器上的变化的能力。谢谢 – EverTheLearner 2009-05-19 16:56:49