【发布时间】:2012-04-12 10:54:42
【问题描述】:
在我的 .ascx 控件中:
<asp:Repeater ID="rptProducts" runat="server">
<ItemTemplate>
<asp:Label ID="lblProductName" runat="server">
<%# Eval("Name") %>
</asp:Label>
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="btnGo" runat="server" Text="Postback" onclick="btnGo_Click" />
在代码隐藏中:
protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack){
var products = (from p in context.Products
select p).Take(30);
rptProducts.DataSource = products;
rptProducts.DataBind();
}
}
我想知道为什么我的中继器在我点击那个按钮后会丢失它的数据。(回发)
【问题讨论】:
-
不应该。
btnGo_Click里面发生了什么? -
你是什么意思“中继器丢失它的数据” 它是空白的,这意味着所有的控件都被清除了吗?您是否尝试在按钮单击事件中访问中继器值?
-
在按钮事件中我什么都不做。它只是用来触发回发。我所说的丢失数据的意思是,转发器中的所有行在回发之后都消失了。
标签: c# asp.net data-binding repeater