【问题标题】:Pass value from ObjectDataSource object level to ASP .NET Control将值从 ObjectDataSource 对象级别传递到 ASP .NET 控件
【发布时间】:2012-07-16 07:04:25
【问题描述】:

我正在使用 ObjectDataSource 和 FormView 控件。

在 ObjectDataSource 中,我指定了一个类型,以及一个执行插入操作的方法。但是,一旦插入完成,我想将用户重定向到其他页面,我需要新创建/持久对象的 ID。

所以在 FormView 中:

OnItemInserted="OnFormItemInserted"

handler 我需要访问该 ID。但是如何从 ObjectDataSource 级别优雅地传递该 id 呢?我可以使用

HttpContext.Current.Items

在 ObjectDataSource 内部处理对象,但我不喜欢它,因为我的处理类型对 ASP .NET 一无所知(关注点分离?)。

谢谢

【问题讨论】:

    标签: asp.net objectdatasource


    【解决方案1】:

    你有没有尝试过这样简单的事情:

    在您的数据对象中

    更新您在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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      相关资源
      最近更新 更多