所以我已经删除了datasouce,只是有的DataBind(),然后我的网页仍吹刷新页面,而不是在编辑模式。
我所试图做的是当编辑按钮,用户点击即可使其内嵌编辑中继一行。
结束时更新
onItemCommand我已经加入的DataBind()
rpt.DataSource = mydatasource;
rpt.DataBind();
之后,我做我的页面是不是在编辑模式下,它吹走和everyting刷新我对的Page_Load
if (!IsPostBack)
{
rpt.DataSource = mydatasource;
rpt.DataBind();
}
最终更新
我用中继很多次都没有问题,但事情是怎么回事。 我有一个直放站和我订阅ItemDataBound事件,但是当我点击按钮(这是我的ItemTemplate直放站里面一个LinkButton)它不会去到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
}
}
}