我正在尝试创建一个非常简单的asp.net页面,该页面使用具有可编辑行的Linq2SQL绑定GridView。我基本上想要添加2个ButtonFields,“编辑”和“删除”。单击“删除”时,该行将被删除,单击“编辑”时,每个自动生成的列将变为文本框并且可编辑,并出现新的“保存”按钮。单击“保存”按钮时,将重新加载页面,并在DB中更新已编辑的条目。我并不担心错误检查或任何花哨的东西,我只是想要一种快速编辑表格的方法。
我正在尝试使这个通用,以便我可以使用DropDownList编辑任何表:
grd.DataSource = db.GetTable(ddlTable.SelectedItem.Text);
grd.DataBind();
<asp:GridView id="grd">
<Columns>
<asp:ButtonField id="edit" Text="Edit"/>
<asp:ButtonField id="delete" Text="Delete"/>
</Columns>
</GridView>
我想我有两个主要问题:
1)是否可以使用AutoGenerateColumns =“true”执行此操作,以便每个表都可以编辑而无需每个表的硬编码?
2)是否有直接的方法使用内置的GridView事件执行此操作而无需编写自定义控件?我并不反对最终使用自定义控件,但我想在必要时自己编写;我此刻试图避免这种情况。
答案 0 :(得分:2)
1)GridView具有“AutoGenerateDeleteButton”和“AutoGenerateEditButton”属性,您可以将其设置为true。
2)使用DataSource(可能是LinqDataSource)绑定网格。通过这种方式,您可以直接从模型中指定编辑和删除事件中发生的事件。它还将为您提供内置的分页/排序。