简单的动态按钮列表asp.net
本文关键字:asp net 列表 按钮 动态 简单 | 更新日期: 2023-09-27 17:59:05
我的问题是:我必须使用什么asp.net控件来生成一个按钮列表,其中文本来自数据库,操作是一个传递所列对象ID(ID也来自数据库)的链接??
解决我问题的是这个令人难以置信的简单的noobish解决方案:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"
DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:Button Style="margin-top: 20px;" ID="Button1" Font-Size="X-Large" BackColor="Blue" ForeColor="White" runat="server" Text='<%# Eval("Descrizione") %>'
PostBackUrl='<%# "~/Assemblaggio3.aspx?idCompCrit="+Eval("ID") %>' /><br />
一个数据中继器,它有一堆带有唯一命令Argument和通用命令Name的按钮。
从我的头顶:
<asp:Repeater runat="server">
<ItemTemplate>
<asp:Button id="<%# DataBinder.Eval(Container.DataItem, "someuniquecounter") %>"
Text="<%# DataBinder.Eval(Container.DataItem, "columnContainingTextToDisplayToUser") %>"
CommandName="CommonCommandName"
CommandArgument="<%# DataBinder.Eval(Container.DataItem, "IdToPassToTheCommandEventHandler%>")"
OnCommand="CommandBtn_Click"
runat="server"/>
</ItemTemplate>
<SeparatorTemplate>
<br>
</SeparatorTemplate>
</asp:Repeater>
在命令处理程序中,您可以首先测试命令名是否正确(根据您想要完成的操作,您可以有很多),然后获取要传递给正确方法的命令参数(id)。
void CommandBtn_Click(Object sender, CommandEventArgs e)
{
if((string.Compare(e.CommandName, "yourCommandName", false)==0)
{
YourMethodAcceptingTheIdAsParameter((int)e.CommandArgument);
}
}