要问我的问题,我创建了一个aspx
包含 aButton
和 aDataList
和SqlDataSource的文件:
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:DataList ID="DataList1" runat="server" DataKeyField="a"
DataSourceID="SqlDataSource1" >
<ItemTemplate>
a:
<asp:Label ID="aLabel" runat="server" Text='<%# Eval("a") %>' />
<br />
b:
<asp:Label ID="bLabel" runat="server" Text='<%# Eval("b") %>' />
<br />
</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:probaConnectionString %>"
SelectCommand="SELECT [a], [b] FROM [PROBA_TABLE]"></asp:SqlDataSource>
在我后面的代码中,我添加TextBoxes
了 DataList 的 Items。我在 Page_Load 中为每个 Item 添加一个 TextBox,并在 Button Clickeventhandler
中添加另一个 TextBox。
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
foreach (DataListItem item in DataList1.Items)
{
item.Controls.Add(new TextBox());
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (DataListItem item in DataList1.Items)
{
item.Controls.Add(new TextBox());
}
}
}
}
除了一件事,这很好用。当我单击 Button 时,在 Page_Load 中创建的 TextBoxes 保留它们的 Text 值,但在它们中创建的 TextBoxesButton1_Click
会丢失它们的 Text 值。我真正的问题比这更复杂,但我认为解决这个问题会对我有很大帮助。