Как я могу создать окно сообщения об ошибке, когда пользователь удаляет запись, связанную с другими записями в таблицах в gridview? Если пользователь удаляет категорию из TblCategory, я хочу, чтобы он генерировал окно с сообщением об ошибке, которое сообщит пользователю, что в этой категории еще есть книги, и не удалит, если он не удалит все записи, связанные с этой категорией.
Заранее спасибо.
Мой код:
<asp:FormView ID="FormView1" runat="server" DataKeyNames="categoryid" DefaultMode="Insert"
DataSourceID="categoryDataSource">
<EditItemTemplate>
categoryid:
<asp:Label ID="categoryidLabel1" runat="server"
Text='<%# Eval("categoryid") %>' />
<br />
Name:
<asp:TextBox ID="nameTextBox" runat="server"
Text='<%# Bind("name") %>' />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
CommandName="Update" Text="Update" />
<asp:LinkButton ID="UpdateCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
<InsertItemTemplate>
Name:
<asp:TextBox ID="nameTextBox" runat="server"
Text='<%# Bind("name") %>' />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="* Required" ControlToValidate="nameTextBox" ValidationGroup="createcategory">
</asp:RequiredFieldValidator>
<br />
<asp:Button ID="InsertButton" runat="server" CausesValidation="True" ValidationGroup="createcategory"
CommandName="Insert" Text="Create" />
<asp:Button ID="InsertCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</InsertItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False"
CommandName="New" Text="New" />
</ItemTemplate>
<EmptyDataTemplate>
<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False"
CommandName="New" Text="New" />
</EmptyDataTemplate>
</asp:FormView>
<asp:SqlDataSource ID="categoryDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>"
DeleteCommand="DELETE FROM [TblCategory] WHERE [categoryid] = @categoryid"
InsertCommand="INSERT INTO [TblCategory] ([name]) VALUES (@name)"
SelectCommand="SELECT [categoryid], [name] FROM [TblCategory]"
UpdateCommand="UPDATE [TblCategory] SET [name] = @name WHERE [categoryid] = @categoryid">
<DeleteParameters>
<asp:Parameter Name="categoryid" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="categoryid" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="name" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
</p>
<h4 class="style6">
List of Categories</h4>
<p>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" CellPadding="4"
DataKeyNames="categoryid" DataSourceID="categoryDataSource" ForeColor="#333333"
GridLines="None" RowDeleted="grdCategory_RowDeleted">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="name" HeaderText="Name" SortExpression="name" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>