gpt4 book ai didi

c# - FormView 插入新行 C# 和 ASP.NET

转载 作者:行者123 更新时间:2023-11-30 12:51:07 25 4
gpt4 key购买 nike

我正在尝试使用 FormView 连接到我的 SQL 数据库,我正在遵循指南,但在指南上它说如果我在 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" />
&nbsp;<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" />
&nbsp;<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) .然后在插入项模板中,您需要一个命令为“插入”的按钮,或者一个可以通过编程方式转到(yourDataSource).Insert() 的控件。 .最后,您的数据源需要一个值为要执行的 SQL 的 InsertCommand,以及提供给它的一些参数规范,这可以通过 <InsertParameters> 来完成。子标签,或以编程方式在 DataSource_Inserting 事件处理程序中。

第一步让你进入formview的插入模式,第二步将表单内容发送回数据源,第三步获取数据源将其写入数据库。

关于c# - FormView 插入新行 C# 和 ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7654419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com