我遇到了更新功能的问题,我正在尝试为我正在构建的群组网站创建。我有代码使用SQL数据源和带编辑功能的列表视图。基本上我在更新表时遇到问题。我只想更新数据库中表中的某些字段,但我只知道如何使用ID作为数据键名更新它们。有人可以帮助我/指导我需要为代码添加什么来更新我想要的字段吗?基本上我只想编辑名称,描述和单位字段。
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:UniString %>"
SelectCommand="SELECT [module_name], [module_desc], [module_units]
FROM [modules] ORDER BY [module_name], [module_desc], [module_units]"
UpdateCommand="UPDATE [modules] SET [module_name]= @Module_Name, [module_desc]=@Module_Description,
[module_units]=@Module_Units"
>
<UpdateParameters>
<asp:Parameter Name="Module_Name" Type="String" />
<asp:Parameter Name="Module_Description" Type="String" />
<asp:Parameter Name="Module_Units" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
</p>
<asp:ListView ID="ListView1" runat="server"
DataSourceID="SqlDataSource1"
**DataKeyNames= ""** >
<AlternatingItemTemplate>
<span style="">module_name:
<asp:Label ID="module_nameLabel" runat="server" Text='<%# Eval("module_name") %>' />
<br />
module_desc:
<asp:Label ID="module_descLabel" runat="server" Text='<%# Eval("module_desc") %>' />
<br />
module_units:
<asp:Label ID="module_unitsLabel" runat="server" Text='<%# Eval("module_units") %>' />
<br />
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
<br />
<br />
</span>
</AlternatingItemTemplate>
<EditItemTemplate>
<span style="">module_name:
<asp:TextBox ID="module_nameTextBox" runat="server" Text='<%# Bind("module_name") %>' />
<br />
module_desc:
<asp:TextBox ID="module_descTextBox" runat="server" Text='<%# Bind("module_desc") %>'
TextMode="MultiLine" Columns="30" Rows="10" />
<br />
module_units:
<asp:TextBox ID="module_unitsTextBox" runat="server" Text='<%# Bind("module_units") %>' />
<br />
<asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
<br /><br /></span>
</EditItemTemplate>
我在CS文件上没有后端代码,因为我认为它不需要我也没有添加整个列表视图,因为它很长并且可能不需要显示。我已将**
放在键名旁边,因为我认为这是错误的来源。当我在那里有模块名称之类的东西时,我认为它有效,但它将所有内容更新为同名,desciption等。我想单独更改每个列表编辑,使其成为不同的模块名称,描述等。
答案 0 :(得分:1)
简单地说,你应该