1
我有一個GridView與EditItemTemplate中,對此我綁定一個字典爲什麼在第一次點擊時不顯示GridView EditItemTemplate?
<asp:GridView runat="server" ID="VariableList" ShowHeader="false" AutoGenerateColumns="false" OnRowEditing="VariableList_RowEditing">
<Columns>
<asp:BoundField ReadOnly="true" DataField="Key" />
<asp:TemplateField ItemStyle-Width="300">
<ItemTemplate>
<asp:Label runat="server" id="VName" Text='<%# Eval("Value") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="VValue" Text='<%# Eval("Value") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" />
</Columns>
</asp:GridView>
當我點擊編輯按鈕,將RowEditing事件被觸發(與調試驗證)中,我設置了GridView的EditIndex:
protected void VariableList_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView grid = sender as GridView;
if (grid == null)
{
return;
}
grid.EditIndex = e.NewEditIndex;
}
如果我在grid.EditIndex = e.NewEditIndex上設置斷點,行,它將值設置爲0,這是第一個正確的項目。
但是,asp:TextBox不顯示。它顯示了ItemTemplate中的內容,而不是EditItemTemplate中的內容。
但是,如果再次點擊編輯按鈕,它會顯示文本框。
任何想法如何與第一次點擊?