繁体   English   中英

无法编辑以在ListView上工作

[英]Can't get edit to work on a ListView

我有以下代码,我认为这将使我能够在列表视图中编辑记录但是当我点击编辑时我得到回发但是我无法编辑任何内容。 难道我做错了什么?

<asp:ListView ID="lv_Personnel" runat="server" OnItemEditing="lv_Personnel_ItemEditing">
            <LayoutTemplate>
                <table cellpadding="2" border="1" runat="server" id="tbl_Personnel">
                    <tr id="headerRow" runat="server">
                        <th>
                        </th>
                        <th>
                            Level of Staff
                        </th>
                    </tr>
                    <tr runat="server" id="itemPlaceholder" />
                    <tr runat="server" id="insertPlaceholder" />
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr runat="server">
                    <td>
                        <asp:LinkButton ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" />
                    </td>
                    <td>
                        <%# Eval("LineDescription")%>
                    </td>
                </tr>
            </ItemTemplate>
            <EditItemTemplate>
                <tr runat="server" style="background-color: #ADD8E6">
                    <td>

                    </td>
                    <td>
                        Level of Staff:
                        <asp:TextBox ID="tb_LevelOfStaff" runat="server" Text='<%# Eval("LineDescription") %>' />
                    </td>
                </tr>
            </EditItemTemplate>
        </asp:ListView>

你是否将ListView数据绑定到任何东西? 如果它不是数据绑定,那么您将不得不通过处理ItemEditing事件手动指定要编辑的记录。

protected void MyListView_ItemEditing(object sender, ListViewEditEventArgs e)
{
    ListView1.EditIndex = e.NewEditIndex;
        // Re-databind here
}

根据评论,除非您关闭了ViewState,否则不要在每个回发上进行数据绑定。

private void Page_Load()
{
    if (!IsPostBack)
    {
       //databind
    }
}

看起来我只需要在我的ListView声明中添加OnItemEditing事件以及备份它的函数。 我已经更新了上面的代码snippit以反映在aspx文件中所做的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM