我想创建一个下载列表,其中每个可用文件都有自己的ASPxButton,我想动态创建它们,而不是手动创建它们并动态地将它们设置为可见。
由于我的.aspx.cs文件中没有表单但在.aspx代码的表格中创建了按钮,因此我无法使用form.AddButton方法。关于如何做这样的事情的任何想法?
不确定这是否有帮助,但这里是我已经拥有的2个按钮的代码:
<dx:TabPage Name="Downloads" Text="Downloads" Enabled="false">
<ContentCollection>
<dx:ContentControl runat="server">
<table class="grid_centered">
<tr>
<td>
<dx:ASPxButton ID="btnDownload0" runat="server" Text="Anschreiben" Theme="Metropolis" CssClass="button centered" OnClick="btn_Click" Width="300px"></dx:ASPxButton>
</td>
</tr>
<tr>
<td>
<dx:ASPxButton ID="btnDownload1" runat="server" Text="Serie 1" Theme="Metropolis" CssClass="button centered" OnClick="btn_Click" Width="300px" Visible="false" Enabled="false"></dx:ASPxButton>
</td>
</tr>
</table>
</dx:ContentControl>
</ContentCollection>
</dx:TabPage>
答案 0 :(得分:0)
我对dx不熟悉:ASPxButton但我假设它类似于aspx:Button。要动态创建控件,您必须在Page_Load()事件中创建控件。
protected void Page_Load()
{
//get your files
string targetDirectory = "your directory";
string [] fileEntries = Directory.GetFiles(targetDirectory);
int i = 0;
foreach(string fileName in fileEntries)
{
ASPxButton btn = new Button();
btn.Text = fileName;
btn.ID = "btnDownload" + i.ToString();
btn.CssClass = "button centered";
btn.Attributes.Add("Theme", "Metropolis");
//add any other properties you need
//add the event handler
btn.Click += new EvenHandler(btn_Clik);
form.AddButton(btn);
}
}