将值从ObjectDataSource对象级别传递到ASP.NET控件
我正在使用ObjectDataSource和FormView控件 在ObjectDataSource中,我指定了一个类型和一个执行插入操作的方法。然而,一旦插入完成,我想将用户重定向到另一个页面,我需要新创建/持久化对象的ID 因此,在FormView中:将值从ObjectDataSource对象级别传递到ASP.NET控件,asp.net,objectdatasource,Asp.net,Objectdatasource,我正在使用ObjectDataSource和FormView控件 在ObjectDataSource中,我指定了一个类型和一个执行插入操作的方法。然而,一旦插入完成,我想将用户重定向到另一个页面,我需要新创建/持久化对象的ID 因此,在FormView中: OnItemInserted="OnFormItemInserted" 我需要访问该ID。但是如何从ObjectDataSource级别优雅地传递该ID呢?我可以用 HttpContext.Current.Items 在ObjectDat
OnItemInserted="OnFormItemInserted"
我需要访问该ID。但是如何从ObjectDataSource级别优雅地传递该ID呢?我可以用
HttpContext.Current.Items
在ObjectDataSource内部处理对象,但我不喜欢它,因为我的处理类型对ASP.NET(关注点分离?)一无所知
谢谢您尝试过这样简单的方法吗: 在数据对象中 更新
ObjectDataSource
控件中配置的插入方法以返回生成的ID:
public int Insert(string firstName, int lastname)
{
// return the ID generated by the insert command
return 4;
}
ASPX代码隐藏
就是这样,在您处理Inserted
事件的页面中:
protected void ods_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
var res = e.ReturnValue.ToString();
this.lblMessage.Text = res;
// add your cool additional logic and redirect stuff
}