私はGridViewでMVC ASP.NETプロジェクトを持っています。 "Enable Editing"、 "Enable Deleting"がインストールされ、データ列がTemplateFieldに変換されます。 SqlDataSourceが接続されています。テーブルには主キーがあります。 SqlDataSourceがインストールされている場合は、「INSERT、UPDATE、およびDELETE文を生成する」。 "編集"または "削除"をクリックすると、ページの再読み込みが行われますが、データの編集や削除はできません。GridViewで項目が編集/削除されない
<asp:GridView ID="GridView1" runat="server" DataKeyNames="Id" DataSourceID="SqlDataSource1" AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" >
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:TemplateField HeaderText="Id" SortExpression="Id">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Caption" SortExpression="Caption">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Caption") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Caption") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Text" SortExpression="Text">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Text") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Text") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CheckBoxField HeaderText="ABC" DataField="Checked" />
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
</asp:GridView>
MVCプロジェクトでWebFormsコントロールを使用するのは、WebFormsとMVCプロジェクトが混在しており、コントロールがWebFormsの部分でのみ使用されている場合にのみ機能します。 – Richard
アスワールありがとう!だから私はViewでGridViewを使用することはできません? – AN90
MVCのアクションとコントローラでWebFormsコントロール(名前空間 'System.Web.UI.WebControls'と' System.Web.UI.HtmlControls')を使用することはできません。 WebFormsコントロールは、サーバー上でページのライフサイクルが発生することを前提としています。 *いくつかの機能がハッキングされる可能性がありますが、ページをMVCまたはWebFormsのいずれかに切り替えることをお勧めします。そのレベルでのミキシングは、進行中の問題が発生する可能性があります。 – Richard