我遇到类似于Question
中发现的问题我有一个ListView嵌套在另一个listview中。外部Listview绑定到代码隐藏中的对象。
listViewOuter.DataSource = myObject[0].someProperty;
listViewOuter.DataBind();
其中someProperty是另一个对象的列表(mySecondObject)...
内部Listview需要是可编辑的,并且它在标记中绑定到mySecondObject中类型为List的另一个属性(secondObjectProperty),如下所示:
DataSource='<%# Eval("secondObjectProperty")%>'
这可以很好地显示数据,但是我无法弄清楚如何将嵌套的listview置于编辑模式。我正在处理OnItemEditing命令并将EditIndex设置为正确的行,但嵌套LV的模式永远不会更改。我已经尝试了所有可以想象的更新面板组合,并重新绑定内部和外部列表视图,但似乎没有任何工作
继承了LV标记(伪代码)
<updatePanel>
<asp:ListView ID="outerListView" runat="server">
<layouttemplate here>
<itemTemplate>
<aspListView ID="innerListView" DataSource="<%# Eval("secondObjectPropery")% onitemEditng="editMethod">
</asp:LsitView>
</itemTEmplate>
</asp:ListView>
</updatePanel
任何想法????
答案 0 :(得分:0)
你的<ItemTemplate>
内有其中一个吗?
<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit"
Text="Edit" />
答案 1 :(得分:0)
好的找到了解决方案。我没有使用“DataSource”标记将标记中的嵌套listview绑定,而是将它绑定在外部listview的ItemDataBound事件中。
在这种情况下,我检查一个editItemIndex,我将其存储为全局变量,该变量通过嵌套的listviews ItemEditing事件设置。效果很好。