所以我已經刪除了datasouce並且只有DataBind(),那麼我的頁面仍然在吹動和刷新頁面,而不是在編輯模式下。響應中繼器內的按鈕事件ItemTemplate
我想要做的是當用戶點擊編輯按鈕,然後使其內聯編輯中繼器行。
結束時更新
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
}
}
}
我認爲你是正確的,但是當我有了數據綁定()我的頁面刷新,我脫離了repter的編輯模式..任何想法? – 2012-04-12 22:04:47
在答案中增加了更多內容。 – tclarkston 2012-04-12 22:09:16
我已更新我的問題 – 2012-04-12 22:11:58