所以我已经删除了数据源,只有 DataBind() 然后我的页面仍在刷新页面,而不是处于编辑模式。
我想要做的是当用户单击编辑按钮然后使其内联编辑中继器行时。
结束更新
onItemCommand 我添加了 DataBind()
rpt.DataSource = mydatasource;
rpt.DataBind();
在我这样做之后,我的页面没有处于编辑模式并且它被吹走并且我在 page_load 上的所有内容都被刷新了
if (!IsPostBack)
{
rpt.DataSource = mydatasource;
rpt.DataBind();
}
结束更新
我已经多次使用中继器没有问题,但这里发生了一些事情。我有一个转发器,我正在订阅 itemDatabound 事件,但是当我单击按钮(这是我的转发器项目模板中的一个链接按钮)时,它不会转到ItemDataBound
<asp:Repeater ID="rpt" runat="server" OnItemCommand="rpt_OnItemCommand" OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
<li>
<asp:Label ID="Label" runat="server" />
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="edit" CommandArgument='<%# Eval("MyID") %>'
Text='<%# Eval("Title") %>' />
</li>
</ItemTemplate>
</asp:Repeater>
protected void rpt_OnItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "delete")
{
//Data.Contacts.RemoveAt(e.Item.ItemIndex);
}
else if (e.CommandName == "edit")
{
EditIndex = e.Item.ItemIndex;
}
else if (e.CommandName == "save")
{
//
}
}
protected void rpt_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.ItemIndex == EditIndex)
{
// never come to this line.... after the user click on LinkButton
}
}
}