FormView插入一个新的C#和ASP.NET行
发布时间:2020-12-15 21:24:20 所属栏目:百科 来源:网络整理
导读:我正在尝试使用FormView连接到我的SQL DB,我正在按照指南进行操作,但是在指南上说如果我在ItemTemplate中应该有一个“新”按钮超链接进入InsertItemTemplate,我的问题是面临的是按钮不存在.我将如何进入插入模式,以便将新记录添加到我的SQL数据库中?实际将
我正在尝试使用FormView连接到我的SQL DB,我正在按照指南进行操作,但是在指南上说如果我在ItemTemplate中应该有一个“新”按钮超链接进入InsertItemTemplate,我的问题是面临的是按钮不存在.我将如何进入插入模式,以便将新记录添加到我的SQL数据库中?实际将项目添加到数据库中的语法是什么?感谢您的任何帮助
<head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" CellPadding="4" DataSourceID="SqlDataSource1" EmptyDataText="There are no data records to display." ForeColor="#333333" Height="250px" Width="957px"> <AlternatingRowStyle BackColor="White" /> <Columns> <asp:CommandField ShowSelectButton="True" /> <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" /> <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" /> <asp:BoundField ApplyFormatInEditMode="True" DataField="Date_Added" DataFormatString="{0:MMM d,yyyy}" HeaderText="Date_Added" HtmlEncode="False" SortExpression="Date_Added" /> </Columns> <EditRowStyle BackColor="#2461BF" /> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#EFF3FB" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <SortedAscendingCellStyle BackColor="#F5F7FB" /> <SortedAscendingHeaderStyle BackColor="#6D95E1" /> <SortedDescendingCellStyle BackColor="#E9EBEF" /> <SortedDescendingHeaderStyle BackColor="#4870BE" /> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ConnectionStrings:DatabaseConnectionString1 %>" ProviderName="<%$ConnectionStrings:DatabaseConnectionString1.ProviderName %>" SelectCommand="SELECT [ID],[Title],[Description],[Date Added] AS Date_Added FROM [knowledgebase]"> </asp:SqlDataSource> <br /> </div> <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1"> <EditItemTemplate> ID: <asp:Label ID="IDLabel1" runat="server" Text='<%# Eval("ID") %>' /> <br /> Title: <asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>' /> <br /> Description: <asp:TextBox ID="DescriptionTextBox" runat="server" Text='<%# Bind("Description") %>' /> <br /> Date_Added: <asp:TextBox ID="Date_AddedTextBox" runat="server" Text='<%# Bind("Date_Added") %>' /> <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> Title: <asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>' /> <br /> Description: <asp:TextBox ID="DescriptionTextBox" runat="server" Text='<%# Bind("Description") %>' /> <br /> Date_Added: <asp:TextBox ID="Date_AddedTextBox" runat="server" Text='<%# Bind("Date_Added") %>' /> <br /> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert" /> <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> </InsertItemTemplate> <ItemTemplate> ID: <asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' /> <br /> Title: <asp:Label ID="TitleLabel" runat="server" Text='<%# Bind("Title") %>' /> <br /> Description: <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Bind("Description") %>' /> <br /> Date_Added: <asp:Label ID="Date_AddedLabel" runat="server" Text='<%# Bind("Date_Added") %>' /> <br /> </ItemTemplate> </asp:FormView> </form> </body> </html> 解决方法
要进入插入模式,您必须在另一个模板中包含一个具有命令名称“New”的控件,或者提供一些其他输入,这些输入可以使您的代码隐藏以编程方式运行(yourFormView).ChangeMode(FormViewMode.Insert).然后在插入项模板中,您需要一个命令为“Insert”的按钮,或者一个可以编程方式转到(yourDataSource).Insert()的控件.最后,您的数据源需要一个InsertCommand,其值是要执行的SQL,以及提供给它的一些参数规范,可以使用< InsertParameters>来完成.子标记,或以编程方式在DataSource_Inserting事件处理程序中.
第一步是进入formview的插入模式,第二步是将表单内容发送回数据源,第三步获取数据源将其写入数据库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |