我正在使用linq到实体我添加了gridview但它不是编辑,当我调试它时不访问方法GridView5_RowUpdating()..这里它是网格视图的代码
<asp:GridView ID="GridView5" runat="server" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="4" DataKeyNames="CustomerId"
DataSourceID="SqlDataSource3" ForeColor="#333333" GridLines="None"
onrowupdating="GridView5_RowUpdating">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="CustomerId" HeaderText="CustomerId"
InsertVisible="False" ReadOnly="True" SortExpression="CustomerId" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<SortedAscendingCellStyle BackColor="#FDF5AC" />
<SortedAscendingHeaderStyle BackColor="#4D0000" />
<SortedDescendingCellStyle BackColor="#FCF6C0" />
<SortedDescendingHeaderStyle BackColor="#820000" />
</asp:GridView>
当我尝试手动插入时,我需要字段验证器,当我删除必填字段验证器时,有人可以告诉我发生了什么吗?
答案 0 :(得分:0)
首先,您需要在gridview上实现RowEditing事件以启用编辑,MSDN定义:
单击行的“编辑”按钮时发生,但之前 GridView控件进入编辑模式。
<强> ASPX:强>
<asp:GridView
ID="gvCustomers"
runat="server"
OnRowEditing="gvCustomers_RowEditing">
代码背后:
protected void gvCustomers_RowEditing(object sender, GridViewEditEventArgs e)
{
gvCustomers.EditIndex = e.NewEditIndex;
//Re bind the grid view
}
现在,如果在网格视图上单击编辑链接时未触发此事件,则表示页面上存在一些阻止回发的验证逻辑。
解决此问题的最佳方法是设置ValidationGroup
属性,以便导致问题的验证控件(不是gridview):
<div id="insertEmployee">
<asp:TextBox ID="txtName" runat="server" ValidationGroup="Insert" />
<asp:RequiredFieldValidator ID="rfvName" runat="server" ControlToValidate="txtName" ErrorMessage="Name is required" ValidationGroup="Insert" />
<asp:Button ID="btnAdd" runat="server" Text="Add" ValidationGroup="Insert" />
</div>