DetailsView.ItemInserted事件查找主键(DataKey)
net 和 C# 4。
我有一个 DetailsView Control
,并且使用一些自定义逻辑进行数据绑定。
当在我的DetailsView 中输入数据时,我想使用事件“Inserted”
(或其他事件)从DetailsView 获取最近插入数据的主键(我想使用DataKey 属性)。
不幸的是我无法做到这一点。
您知道如何插入检索使用详细信息视图插入的项目的主键吗?
感谢您的帮助!
net and C# 4.
I have a DetailsView Control
, and I use some custom logic for data binding.
When input data in my DetailsView I would like to use the Event "Inserted"
(or another) to get from the DetailsView the Primary Key for the recently inserted data (I suppose using the DataKey properties).
Unfortunately I'm not able to do it.
Do you have any idea how to insert retrive the Primary Key for a item being inserted using the DetailsView?
Thanks for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,您的 SQL 语句需要返回 SCOPE_IDENTITY()。
其次,假设您使用的是
ObjectDataSource
控件,请在数据源控件的Inserted
事件中获取e.ReturnValue
,如下例所示:使用新的键值重定向到详细信息页面。
如果您使用
SqlDataSource
控件,则可以通过编程方式访问 Output 参数或 ReturnValue 参数,具体取决于您编写 SQL 的方式。如果您告诉我您正在使用哪种数据访问方式,我将举一个例子。First of all, your SQL statement needs to return the
SCOPE_IDENTITY()
.Second, assuming you are using an
ObjectDataSource
control, gete.ReturnValue
in your datasource control'sInserted
event, as in the following example:This example uses the new key value to redirect to the detail page.
If you are using a
SqlDataSource
control, you can programmatically access either Output parameters or ReturnValue parameters, depending on how you wrote the SQL. I'll make an example if you fill me in on what kind of data access you are using.DetailsViewInsertedEventArgs.Values 获取包含插入记录的字段名称/值对的字典。
DetailsViewInsertedEventArgs.Values gets a dictionary that contains the field name/value pairs for the inserted record.