【发布时间】:2015-04-15 23:51:16
【问题描述】:
我正在使用存储过程来编辑列表视图控件中的数据行。每行都有“编辑”和“删除”链接,因此当用户单击“编辑”时,该行应该可以编辑。 我得到的错误是,当用户点击“编辑”时,行无法编辑。
使用的存储过程是:
CREATE PROCEDURE [dbo].[RegisterUpdate]
-- Add the parameters for the stored procedure here
@id int,
@fname nvarchar(50),
@lname nvarchar(50),
@company nvarchar(50),
@email nvarchar(250)
作为 开始 -- 添加了 SET NOCOUNT ON 以防止额外的结果集 -- 干扰 SELECT 语句。 设置无计数;
-- Update statements for procedure here
Update dbo.register
SET fname = @fname,
lname = @lname,
company=@company,
email=@email
WHERE dbo.register.id=@id
END
去
Asp.net 代码是:
<EditItemTemplate>
<tr style="background-color: #E0FFFF; color: #333333;">
<td>
<asp:TextBox ID="fname" runat="server" Text='<%# Eval("fname") %>'>'></asp:TextBox>
</td>
<td>
<asp:TextBox ID="lname" runat="server" Text='<%# Eval("lname") %>'>'></asp:TextBox>
</td>
<td>
<asp:TextBox ID="company" runat="server" Text='<%# Eval("company") %>'>'></asp:TextBox>
</td>
<td>
<asp:TextBox ID="email" runat="server" Text='<%# Eval("email") %>'>'></asp:TextBox>
</td>
<td>
<asp:LinkButton ID="lnkSave" runat="server" Text="Save" CommandName="Save" />
</td>
<td>
<asp:LinkButton ID="lnkCancel" runat="server" Text="Cancel" CommandName="Cancel" />
</td>
</tr>
</EditItemTemplate>
用于在数据集中保存数据的C#代码是:
protected void ListViewDetails_ItemEditing(object sender, System.Web.UI.WebControls.ListViewEditEventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("dbo.RegisterUpdate", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@fname", con);
cmd.Parameters.AddWithValue("@lname", con);
cmd.Parameters.AddWithValue("@company", con);
cmd.Parameters.AddWithValue("@email", con);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
}
【问题讨论】:
-
在您定义 ListView 的编辑按钮的位置显示标记
-
您的编辑事件处理程序有一些错误。除此之外,是否显示任何错误或类似的只是单击编辑按钮,没有任何反应???
标签: c# asp.net sql-server-2008 data-binding